Sofia to Budapest by train

Travel from Sofia (Bulgaria) to Budapest (Hungary) by train (631km): schedule and information to the train connection. Compare fares and buy your ticket.

To travel by train from Sofia in Bulgaria to Budapest in Hungary, 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.

631 km

railcc
Your train tickets and reservations at the best price/fares. Scroll down, read the details and make use of the booking links.

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 Sofia to Budapest, 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

Budapest - Sofia / Burgas - Budapest / Plovdiv - Budapest / Varna - Budapest

1 Sofia (Bulgaria) - Belgrade (Serbia) - Budapest (Hungary)

The route consist of more than one step. You have to buy several train tickets.

1a Travelling from Sofia (Bulgaria) to Belgrade (Serbia)

Travel from Sofia to Belgrade by direct day train connection. In off-season (October to May) you have to change trains in Dimitrovgrad and Niš. Sometimes an overnight train is offered as well.

The journey time from Sofia to Belgrade by direct day train is 09:15 hours. Train tickets are available from 21 EUR in 2nd class. Buy your ticket locally at the railway station. The departure time in Sofia is 09:15. The arrival time in Belgrade (Topcider) is 18:30.

If no direct train is available, you have to travel in several steps:
1. Sofia to Niš.
2. Niš to Dimitrovgrad.
3. Dimitrovgrad to Belgrade.

Find the exact schedules via the booking links.

The following links could be interesting for you.

train connections: popular connections travelled by other users
Belgrade - Sofia

1b Travelling from Belgrade (Serbia) to Budapest (Hungary)

The train connection from Belgrade to Budapest is currently only possible with two changes. The line has been under renovation since 2019 and should be fully operational again from 2026. So far, direct trains have taken around six hours to cover the 350-kilometre route. In 2026, the journey time should be reduced to 2 hours and 40 minutes, with a possible speed of 200 km/h.

Your train departs from "Beograd Centar" station. It continues to Novi Sad. You have to change trains in Subotica and Szeged and then arrive at "Budapest Nyugati" railway station.

You have to buy the following tickets:

#1 From Belgrade to Subotica, the ticket costs 15 EUR. You can buy it on the Serbian Railways website. At the moment it is only in Serbian language, but you can understand it. Otherwise, buy the ticket at the station.

#2 From Subotica to Budapest 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 Subotica to Szeged from 5 EUR. Then from Szeged to Budapest from 6 EUR.

There are currently three train connections per day with departure from Belgrade at 05:00h, 11:00h and 14:00h. Arrival in Budapest is at 12:10h, 18:10h and 21:10h. You can find the exact timetables on the websites of the Serbian and Hungarian railways.

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.
B340 Belgrade - Budapest

train company:
MÁV Magyar Államvasutak - MÁV START / SV Srbija Voz

train connections: popular connections travelled by other users
Budapest - Belgrade

2 Sofia (Bulgaria) - Bucharest (Romania) - Budapest (Hungary)

The route consist of more than one step. You have to buy several train tickets.

2a Travelling from Sofia (Bulgaria) to Bucharest (Romania)

Travel from Sofia to Bucharest by direct train connection. The journey time is 9:40 hours. The ticket fare is 161 RON (33 EUR).

The departure time in Sofia is 07:20. And the arrival time in Bucharest is 17:00. In off-season (October to May) you have to change trains in Ruse (Bulgaria). Arrival time in Ruse is 13:20. Departure time in Ruse is 14:15. You can save money if you split your ticket booking: buy one ticket for Sofia to Ruse and a second ticket for Ruse to Bucharest.

Find the exact train schedules and buy your tickets via the given booking links.

Where to buy a ticket from Sofia to Bucharest?

Buy the train ticket at a railway station. Note: in some countries you have to pay a service fee at the ticket counter. The ticket can be purchased at a station in the country of departure, also sometimes in other countries.

The following links could be interesting for you.

train connections: popular connections travelled by other users
Bucharest - Sofia

2b Travelling from Bucharest (Romania) to Budapest (Hungary)

Travel from Bucharest to Budapest 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 Bucharest is 17:45 and the arrival time in Budapest is 08:50.

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 Bucharest is at 05:45 and the arrival time in Budapest is 19:50.

As third option there is the overnight train "Dacia Express". It offers sleeper compartments as well with shower and toilet. Its travel destination is Vienna (Austria), therefore the arrival time in Budapest is very early at 04:50. The departure time in Bucharest is 14:00. The ticket fares are the same like mentioned above.

All in all it is a recommended rail trip trough the beautiful scenery of the Carpathian mountains and into Transylvania.

Find the exact train schedules and buy your ticket via the given booking links.

Where to buy a ticket from Bucharest to Budapest?

The following links could be interesting for you.

night train: Night trains that might be suitable for this trip.
EN 346 Bucharest - Vienna / EN 472 Bucharest - Budapest

train connections: popular connections travelled by other users
Budapest - Bucharest

Need a cheap place to sleep? railcc recommends booking.com

Find a cheap flight! Compare prices on Kiwi.com

HELP

Do you have questions about the connection between Sofia and Budapest? Does something not work as it should? Just ask in the Raildude forum and get competent answers from rail travel experts.

HELP

Eurail: if you want to travel this route by Eurail instead of train tickets, have a look here for reservation fees and further information.

Train Routes

ABOUT RAILCC: honest and well-founded tips to help you travel by train.

rail.cc is partner and friend of
Deutsche Bahn Logo
Interrail Logo
Eurail Logo
Omio Logo
Direct Ferries
ACPRail Logo
NS Logo
SNCB Logo
Booking.com Logo
China Highlights Logo
12GoAsia Logo
Flixtrain Logo
Inlandsbanan Logo
Nightjet Logo
SJ Logo
Kiwi.com Logo
Airbnb Logo
DJI Logo
Rentalcars Logo
top