From Spain you reach Ukraine by flying to Poland and crossing the border by train: Madrid or Barcelona → Kraków or Warsaw → Przemyśl → Lviv or Kyiv. It takes between 12 and 20 hours door to door and costs between €90 and €200 each way. There have been no flights to Ukraine since February 2022 and none are expected to return while martial law lasts.
Can you fly to Ukraine from Spain?
No. Ukrainian airspace is closed to civil aviation. Every airport, including Kyiv Boryspil, remains closed. The only way in is overland from Poland, Slovakia, Hungary, Romania or Moldova. For anyone coming from Spain, Poland is the fastest route, with the most frequent connections and the best infrastructure.
Route 1: Kraków → Przemyśl → Lviv (the fastest)
- Flight to Kraków. Ryanair flies from Madrid, Barcelona, Alicante, Málaga, Seville and Valencia; Wizz Air from Barcelona. About 3 and a half hours. From €30 if booked in advance.
- Train Kraków → Przemyśl. PKP Intercity, between 2 h 45 and 3 h 15. Price 40 to 70 zł (€10 to €16). Buy at intercity.pl or in the app; it is worth reserving a seat.
- Train Przemyśl → Lviv. Ukrzaliznytsia trains leave from the same Przemyśl Główny station, several times a day. Journey time 1 h 45 to 2 h 15, including the border check on board. Price 250 to 500 UAH (€6 to €12). Buy in the Укрзалізниця app or at booking.uz.gov.ua with a Spanish card.
Total from landing in Kraków: 6 to 8 hours to Lviv.
Route 2: Warsaw → Przemyśl → Kyiv (straight to the capital)
- Flight to Warsaw Chopin or Modlin. LOT and Iberia to Chopin from Madrid and Barcelona; Ryanair and Wizz Air to Modlin and Chopin from Madrid, Barcelona, Málaga and Alicante.
- Train Warsaw → Przemyśl. Intercity or Pendolino, 4 h 30 to 5 h 30. 60 to 150 zł.
- Train Przemyśl → Kyiv. Daytime Intercity+ trains (9 to 10 h) and overnight sleeper trains (11 to 13 h). Between 900 and 2,000 UAH (€20 to €45). The overnight trains with 2-berth compartments (СВ) sell out days in advance.
There is also a direct Warsaw → Kyiv train with a bogie change at the border, about 17 hours. Convenient if you would rather not change trains, but slower.
Route 3: by bus (the cheapest)
FlixBus and Ukrainian companies connect Kraków, Warsaw and Katowice with Lviv and Kyiv. Kraków → Lviv: 6 to 9 hours, €20 to €35. The bus queue at the Medyka/Shehyni crossing is the big drawback: 1 to 4 hours depending on the day. The train crosses without queuing because the check is done on board.
How does the border check work on the train?
In Przemyśl, before boarding, the Polish Border Guard stamps you out of Schengen. On the train, or at the first Ukrainian stop, Ukrainian officers check your passport and your medical insurance. Have the PDF open on your phone. Without insurance there is no entry; in the guide on arriving without insurance we explain how to sort it out in the queue.
Where to buy tickets and which apps to have
- intercity.pl or the PKP Intercity app for Polish trains.
- The Укрзалізниця app (Ukrzaliznytsia) or booking.uz.gov.ua for Ukrainian ones. They accept Spanish Visa and Mastercard. The ticket is a QR code on your phone.
- Air Alert (Повітряна тривога) for air-raid alerts by region.
- Bolt and Uklon for taxis in Lviv and Kyiv.
- Monobank or a Kyivstar / lifecell SIM from the first shop you see: €5 to €10 for unlimited data for a month.
Timetables and curfew
The curfew in Kyiv and Lviv runs from 00:00 to 05:00. Overnight trains run as normal, but if you arrive at the station during the curfew you will have to wait inside until 05:00; there are no taxis. Plan to arrive between 06:00 and 22:00 whenever you can.
And the way back?
The same route in reverse. Bear in mind that Kyiv → Przemyśl trains fill up more than the outbound ones and that the Ukrainian exit check can take a while. Leave at least 3 hours between the scheduled arrival in Przemyśl and the connecting Polish train, and do not book the flight from Kraków for the same day.