rail.cc rescue

Budapest to Sofia by train

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.

Information may be outdated. Please check current schedules and prices directly with the train operator before booking.
Route 1

Budapest → Belgrade → Sofia

Route 1.1

Budapest to Belgrade

xcislave #1579

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.

Tickets and booking

MÁV Start

Online shop for train tickets of the Hungarian State Railways MAV Start.

Srbija Voz

Online shop for train tickets of Serbian Railways Srbija Voz.

Omio

Cheap train tickets! Buy your train ticket online on Omio. The easy to use booking system with very good prices and e-tickets.

Route 1.2

Belgrade to Sofia

xcislave #160

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.

Tickets and booking

Srbija Voz

Online shop for train tickets of Serbian Railways Srbija Voz.

Omio

Cheap train tickets! Buy your train ticket online on Omio. The easy to use booking system with very good prices and e-tickets.