How to travel from Austria to Lviv and back on a budget

Lviv, Ukraine is one of my favorite cities in Eastern Europe and still fairly off the beaten track. One reason for that is the lack of convenient low-cost flights from major airports and the relatively slow train connections in this part of Europe. In the following article, I will explain how you can still travel to the Western Ukrainian metropolis if you are on a budget.

Lviv Opera House
Lviv Opera House

In this article, I will use Budapest as a starting point, as it is a major transportation hub for rail, bus and air travel. The Hungarian capital is easy to reach from other neighboring countries and serves as the perfect starting point for a train journey to Ukraine. Unless you are traveling to Ukraine from Poland, you will most likely pass through Budapest on your way to Lviv. For travelers departing from Austria, Budapest will most likely be on your way.

At the end of this article, I will make some suggestions on how to reach Lviv by train from the Austrian cities of Vienna and Graz.

There are basically two options for budget travelers:

1) Low-cost flight to Kiev and train to Lviv

WizzAir flight to Kiev
WizzAir flight to Kiev-Zhulyany

This is the most time-efficient and convenient option, but usually requires early planning and booking. You can fly WizzAir from Budapest or other European airports (including Bratislava, Munich-Memmingen, Cologne, Dortmund and Hamburg) to Kiev Zhulyany airport, with one-way fares starting at € 19.99.

Once you arrive at Zhulyany airport, take trolleybus no. 9 to the main train station Kyiv-Passazhyrskiy (Київ-Пасажирський). The journey takes around 30 minutes and tickets can be bought on board from a ticket vendor or from the bus driver for 3 UAH (€ 0.10). Don’t bother with taxis, as you will most likely be ripped off.

Kiev trolleybus ticket
Kiev trolleybus ticket

At Kyiv-Passazhyrskiy train station, board the modern 5-hour Intercity+ train to Lviv. I recommend booking your train tickets in advance, as Intercity+ trains tend to sell out on busy travel days. You can book your tickets on the official website of the Ukrainian railway company (UZ). A 2nd-class ticket will set you back around UAH 310 (€ 11), but you could also spoil yourself with comfy extra legroom in 1st class for around UAH 485 (€ 17). If you book online, you will receive an electronic boarding pass which you need to print out and show to the train attendant.

If you plan ahead and find good deals, a round-trip flight and train journey to Lviv will cost you just € 62. Depending on the flight schedule, you might be able to do the whole journey in just half a day.

2) Train from Budapest via Záhony and Chop border stations

Budapest-Keleti train station
Budapest-Keleti train station

Traveling from Budapest to Lviv by train takes at least 12 hours for just 608 kilometers. There is the IC Latorca train, the only daily connection from Budapest-Nyugati station to Lviv which does not require changing trains on your way, leaving Budapest at 7:23 a.m. and arriving at Lviv at 10.24 p.m., and leaving from Lviv at 6.46 a.m. and arriving at Budapest-Nyugati at 6.37 p.m., respectively. However, this train will set you back around € 50 one-way, unless you are able to book some special offer round-trip ticket for € 60 well ahead of time.

The cheapest way to get to Lviv, although not the most convenient, is to take a train from Budapest to the Hungarian border town Záhony, then take another train across the border to Chop and finally board a Ukrainian domestic train to Lviv. Apart from saving money, this option allows you to choose more than just one train per day from Budapest.

For the journey from Budapest to Záhony (pronounced “ZA-honj”), you can already book your ticket in advance on the official website of the Hungarian railway company (MAV), or simply show up at the train station where you can use Hungarian forint, euro as well as Maestro and major credit cards. A 2nd-class ticket currently costs HUF 5,870 (€ 19), or HUF 3,290 (€ 11) for students with ISIC student ID cards. The journey to Záhony takes around 4 hours for 338 kilometers traveled by rail.

At Záhony station, buy your ticket for the next leg across the border into Ukraine, to Chop for around HUF 1,100 (€ 3.60). Again, you can use Hungarian forint, euro as well as Maestro and major credit cards. When you cross the border into Ukraine, remember to change your clocks forward one hour to Eastern European Time.

The Hungarian police and customs control is carried out on board of the cross-border train. After about 20 minutes, you will arrive at Chop where you have to pass through immigration and customs, just like at the airport. This procedure  can take up to 30 minutes, depending on the amount of passengers traveling across the border.

Chop train station at night
Chop train station at night
In the 4-bed sleeper car ("kupe") between Lviv and Chop
In the 4-bed sleeper car (“kupe”) between Lviv and Chop

At Chop station, you could either buy a ticket to Lviv on the spot or present your voucher from the online booking on the official website of the Ukrainian railway company (UZ) at one of the counters to receive a valid ticket. As trains often sell out in Ukraine, I would strongly recommend to buy your ticket online, perhaps even some days ahead. In the Christmas season, for instance, it could happen that all sleeping cars might be sold out on your desired day of travel and that you would have to book ahead at least two weeks before departure.

Almost all trains running between Chop and Lviv carry sleeper cars only. A ticket in kupe class (4-bed sleeper cars) costs around UAH 125 (€ 4.50), which is a real bargain for Western European travelers. For some trains, there is also lux class (2-bed sleeper car) and the ticket amounts to around UAH 320 (€ 11). The journey from Chop to Lviv takes 5-7 hours, depending on the train, for 270 kilometers traveled by rail.

Lviv train station at night
Lviv train station at night
Hand-written ticket for the cross-border train to Záhony
Hand-written ticket for the cross-border train to Záhony

On your way back to Hungary, buy your ticket for the cross-border leg Chop-Záhony at ticket counter no. 9 in Chop. The counter will be open before departure of the train, even if you show up in the middle of the night. The ticket costs UAH 78 (€ 2.75) (as of January 2017) and it seemed that cash payments in Ukrainian currency were the only accepted payment method, so keep some Ukrainian cash for your return trip.

In total, a round-trip train journey from Budapest to Lviv and back will cost you around € 54, or just € 38 if you have a ISIC student ID card.

For timetables, check out the websites of Hungarian MAV and Ukrainian UZ railway companies.

Suggestion for traveling from Vienna or Graz to Lviv

The following option comes in very handy for people like me who are trying to travel from Austria to Lviv in just one day. From Vienna, for instance, you could board Railjet 49 at 9.42 a.m., change trains in Budapest and arrive in Záhony at 4.57 p.m., depart at 6.02 p.m. and arrive at Chop at 7.20 p.m., which should give you enough time to catch Ukrainian train 107 departing at 8.02 p.m. and arriving at Lviv at 2.05 a.m. If you can’t find cheap offers for the train leg Vienna-Budapest, consider Flixbus to Budapest-Népliget bus station. Whatever means of transport you prefer, the total travel time from Vienna would be around 15-16 hours.

Ukrainian passport stamps, indicating the mode of travel
Ukrainian passport stamps, indicating the mode of travel

If you want to travel to Lviv from Graz, you could use the same trains from Budapest, but your inbound train from Graz would have to be on time. You could take the daily IC 317 Rába departing at Graz Hbf at 6.08 a.m. and arriving at Budapest-Keleti at 11.49 a.m. As long as the train is on time, this should give you enough time to walk for 20 minutes or take a bus to Budapest Zugló station, about 1.7 km east of Keleti train station. From Zugló, board IC 656 at 12.29 p.m. to Nyíregyháza and further on to Záhony – the same train you would use from Vienna, as described above. Total travel time from Graz would be around 19 hours.

On your way back home, you would have to start early to make the trip in just one day: Take train 13 from Lviv to Chop, departing at 3.46 a.m. and arriving at 9.06 a.m., then cross the border to Záhony at 10.25 a.m. Ukrainian time, take the next available train from Záhony to Budapest and finally board IC 318 Rába from Budapest-Keleti at 6.10 p.m. and arriving at Graz Hbf at 11.00 p.m. If you make all connections without delays, you even get around 3-4 hours of free time in Budapest. Total travel time would be 20 hours.

All schedules as of January 2017 and subject to change. Please refer to the official websites of the railway companies for up-to-date information.


While perhaps not the most enjoyable and convenient way of traveling to Lviv, it is certainly the cheapest. I have tried both mentioned options and found that both air and rail travel come with certain advantages and disadvantages. On my last trip to Ukraine, I combined both options, using a low-cost flight to Kiev and a sleeper train on the way home. Try it out yourself and see which way you feel most comfortable.

Comments are closed, but trackbacks and pingbacks are open.