Warsaw to Sofia by train

Travel from Warsaw (Poland) to Sofia (Bulgaria) by train (1074km): schedule and information to the train connection. Compare fares and buy your ticket.

To travel by train from Warsaw in Poland to Sofia in Bulgaria, the main route leads via Hungary and Serbia. Please read the following information and blog posts.

Your travel route could be like that.

1074 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 Warsaw 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 - Warsaw / Warsaw - Burgas / Warsaw - Plovdiv / Warsaw - Varna / Krakow - Sofia / Krakow - Burgas / Krakow - Plovdiv / Krakow - Varna / Gdańsk - Sofia / Gdańsk - Burgas

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

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

1a Travelling from Warsaw (Poland) to Budapest (Hungary)

Travel from Warsaw to Budapest by train. There exists one direct day train and one direct overnight train. More train connections are available with a change of trains. The journey time is 10:30 hours. The ticket price starts at 19 EUR.

1) Travel by day train connection.
The journey time is 10:30 hours. The departure time in Warsaw is 08:50. The arrival time in Budapest is 19:20. The ticket price starts at 19 EUR.

2) Travel by overnight train EN477.
The departure time in Warsaw is 19:45. The arrival time in Budapest is 08:30. The train offers the following service categories:
- standard seats from 19 EUR.
- shared compartments with 4 or 6 beds from 49/59 EUR.
- private compartments with 3, 2 or 1 bed (optional with private shower and toilet) from 69/89/129 EUR.

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.
EN 476/456/406 Budapest - Warsaw / EN 407/477 Warsaw - Budapest

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

1b 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.

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

1c 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.

The following links could be interesting for you.

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

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 Warsaw and Sofia? 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