Budapest to Sofia by train
Travel from Budapest (Hungary) to Sofia (Bulgaria) by train (631km): schedule and information to the train connection. Compare fares and buy your ticket.
To travel by train from Budapest in Hungary to Sofia in Bulgaria, the main route leads via Serbia or Romania. Please read the following information and blog posts.
There are two main routes. Compare them and decide which one feeds your needs best.
- 1Budapest (Hungary) - Belgrade (Serbia) - Sofia (Bulgaria)
- 2Budapest (Hungary) - Bucharest (Romania) - Sofia (Bulgaria)
631 km
How to use the following information: railcc shows you the best routes and where to buy tickets. On longer routes you may need more than one ticket. Book your tickets step by step as explained. If you have questions about the route from Budapest to Sofia, please ask in the Raildude forum. Of course, sometimes there are as well other travel routes possible.
The following links could be interesting for you.
train connections : popular connections travelled by other users
Sofia - Budapest / Budapest - Burgas / Budapest - Plovdiv / Budapest - Varna1 Budapest (Hungary) - Belgrade (Serbia) - Sofia (Bulgaria)
The route consist of more than one step. You have to buy several train tickets.
1a Travelling from Budapest (Hungary) to Belgrade (Serbia)
The train connection from Budapest to Belgrade is currently only possible with two changes. The line has been under reconstruction since 2019 and should be fully operational again from 2026. Until now, direct trains took around six hours to cover the 350-kilometre route. In 2026, the journey time should be reduced to 2 hours and 40 minutes, at a possible speed of 200 km/h.
Your train departs from "Budapest Nyugati" station. You have to change trains in Szeged and Subotica. Then you continue via Novi Sad and arrive at "Beograd Centar" station.
You have to buy the following tickets:
#1 From Budapest to Subotica with the Hungarian railway MAV. If you buy one train ticket, it costs 26 EUR. If you buy two train tickets, it is cheaper. First from Budapest to Szeged from 6 EUR. Then from Szeged to Subotica for 5 EUR.
#2. From Subotica to Belgrade, the ticket costs 15 EUR. These can be bought on the Serbian Railways website. At the moment it is only in Serbian, but you can understand it. Otherwise, buy the ticket at the station.
There are currently three train connections per day with departure from Budapest at 05:50h, 11:50h and 14:50h. Arrival in Belgrade is at 12:40h, 18:40h and 21:20h. You can find the exact timetables on the websites of the Hungarian and Serbian railways.
Where to buy a ticket from Budapest to Belgrade?
The following links could be interesting for you.
train types: Train types you are likely to travel with.
EuroCity (EC)
night train: Night trains that might be suitable for this trip.
G 341 Budapest - Belgrade
train company:
MÁV Magyar Államvasutak - MÁV START / SV Srbija Voz
train connections: popular connections travelled by other users
Belgrade - Budapest
1b Travelling from Belgrade (Serbia) to Sofia (Bulgaria)
Travel from Belgrade to Sofia by direct day train connection. In off-season (October to May) you have to change trains in Nis and Dimitrovgrad. Sometimes an overnight train is offered as well.
The journey time from Belgrade to Sofia by direct day train is 11:30 hours. Train tickets are available from 21 EUR in 2nd class. Buy your ticket locally at the railway station. The departure time in Belgrade (Topcider) is 09:15. The arrival time in Sofia is 20:45.
If no direct train is available, you have to travel in several steps:
1. Belgrade to Nis. It might be the case that you have to stay overnight in Nis.
2. Nis to Dimitrovgrad.
3. Dimitrovgrad to Sofia.
Find the exact schedules via the booking links.
Where to buy a ticket from Belgrade to Sofia?
The following links could be interesting for you.
train connections: popular connections travelled by other users
Sofia - Belgrade
2 Budapest (Hungary) - Bucharest (Romania) - Sofia (Bulgaria)
The route consist of more than one step. You have to buy several train tickets.
2a Travelling from Budapest (Hungary) to Bucharest (Romania)
Travel from Budapest to Bucharest by overnight train or by day train. The journey time is 15 hours. Train tickets start from 29 EUR.
The overnight train is comfortable and the recommended way of travel. It offers couchettes for 4 or 6 persons per compartment with ticket fares from 39 EUR. And sleeper compartments for one to three travellers with ticket fares from 55 EUR. The departure time in Budapest is 19:10 and the arrival time in Bucharest is 12:30.
Beside the overnight train there is a comfortable air-conditioned Intercity train which run at daytime. Ticket fares start from 29 EUR. The departure time in Budapest is at 07:10 and the arrival time in Bucharest is 23:59.
As third option there is the overnight train "Dacia Express". It offers sleeper compartments as well with shower and toilet. The departure station of the train is Vienna (Austria), therefore the arrival time in Bucharest is very late the next day at 16:00. The departure time in Budapest is 23:10. You can board the train already one hour earlier. The ticket fares are the same like mentioned above.
All in all it is a recommended rail trip trough the beautiful scenery trough Transylvania and of the Carpathian mountains.
Find the exact train schedules and buy your ticket via the given booking links.
Where to buy a ticket from Budapest to Bucharest?
The following links could be interesting for you.
night train: Night trains that might be suitable for this trip.
EN 347 Vienna - Bucharest / EN 473 Budapest - Bucharest
train connections: popular connections travelled by other users
Bucharest - Budapest
2b Travelling from Bucharest (Romania) to Sofia (Bulgaria)
Travel from Bucharest to Sofia by direct train. The journey time is 9:10 hours. The ticket fare is 161 RON (33 EUR).
The departure time in Bucharest is 11:00. And the arrival time in Sofia 20:10. In off-season (October to May) you have to change trains in Ruse (Bulgaria). Arrival time in Ruse is 13:45. Departure time in Ruse is 14:15. You can save money if you split your ticket booking: buy one ticket for Bucharest to Ruse and a second ticket for Ruse to Sofia.
Find the exact train schedules and buy your tickets via the given booking links.
Where to buy a ticket from Bucharest to Sofia?
The following links could be interesting for you.
train connections: popular connections travelled by other users
Sofia - Bucharest
Need a cheap place to sleep? railcc recommends booking.com
Find a cheap flight! Compare prices on Kiwi.com
Do you have questions about the connection between Budapest and Sofia? Does something not work as it should? Just ask in the Raildude forum and get competent answers from rail travel experts.
Eurail: if you want to travel this route by Eurail instead of train tickets, have a look here for reservation fees and further information.
Check times&prices