This page explains how to travel by train from Sofia to other key European cities, and how to buy the cheapest tickets. Click here to for journeys starting in another city. Click here for Sofia station guide. Information current for 2025.
I want to go from Sofia to...
Before you buy your tickets
Take a moment to read these tips for buying European train tickets. It answers all the usual questions, "Must I book in advance or can I buy at the station?", "Can I stop off?", "Are there Senior fares?" and that old favourite, "Should I buy an $800 railpass or a €35 point-to-point ticket?". How far ahead can you buy train tickets?
European train travel FAQ
Train travel within Bulgaria
-
Trains link most major towns & cities, including Sofia, Burgas, Varna, Plovdiv, Veliko Tarnovo.
The nearest main station to Sunny Beach is Burgas.
-
Check times at the Bulgarian Railways website www.bdz.bg.
-
You can buy tickets online for long-distance trains at bileti.bdz.bg.
Click English top right. It only takes a few seconds to register. Booking opens 60 days ahead.
Sofia to Istanbul
-
A comfortable sleeper train called the Sofia-Istanbul Express links Sofia to Istanbul, see the Sofia to Istanbul page.
Sofia to Belgrade
Sofia to Bucharest
-
There's a daily train from Sofia to Bucharest, leaving Sofia central station* at 07:00, arriving Bucharest Gara de Nord 17:17.
In summer from mid-June to early October it's a direct train, or more accurately, one direct 2nd class coach attached to a Sofia-Ruse train. At Ruse the through carriage is attached to a Romanian train for the rest of journey to Bucharest.
At all other times you change trains at Ruse (arrive 13:31, depart 14:15) from a Bulgarian train into an air-conditioned Romanian diesel unit for the last leg to Bucharest, although the timings are exactly the same.
There's no catering so bring a picnic, some wine or beer and a good book. It's a lovely scenic route, meandering at leisurely speed through the beautiful green valleys of Bulgaria. You cross the Danube from Ruse in Bulgaria to Giurgiu in Romania over Europe's longest steel bridge, 2.5 km long.
You can check the schedule at the Bulgarian Railways website www.bdz.bg.
Click English top right. Click Menu and look for International rail-routes, go to the Bucuresti-Sofia-Bucuresti page and open the pdf timetable.
They often only post timetables a few days before they start, so don't expect the June-October timetable to be posted in January, you're lucky if it's posted in May rather than early June days before it starts. Patience!
Tip: The departure boards are in Cyrillic, look for train 2611 to BAPHA (Varna). The main part of this train runs from Sofia to Varna, there are 3 or 4 carriages from Sofia to Ruse (PYCE in Cyrillic) plus the summer-only through car to Bucharest. Make sure you join the right part of the train!
Tip: Car 472 is the Sofia-Bucharest through car (June-Sept only). Cars A2, 11 & 12 are the Sofia-Ruse cars. You can check the train formation & car numbers and see photos of the carriages using the excellent www.vagonweb.cz. Change cs to English, click Train formations, then search for train number 2611.
* Important update: Due to track upgrading, from 7 May 2024 for up to a year, the train starts at Sofia Sever (Sofia North) at 07:06. Sofia Sever is 2.7 km from Sofia Central, see map). You can take the 06:50 suburban train from Sofia Central to Sofia Sever or take a taxi from your hotel.
-
The fare is around €35 including seat reservation. 2nd class only.
-
How to buy tickets online
It's not possible to book from Sofia to Bucharest all in one go, but you can book online in two stages:
Step 1, buy a ticket from Sofia to Ruse at the Bulgarian Railways website www.bdz.bg.
Booking opens 30 days before departure. Click English top right, click TICKETS and the booking page opens, click English again (twice!).
Book from Sofia to Ruse and look carefully at the search results for the train leaving Sofia around 07:00 and arriving Ruse around 13:31.
You need to register, you even get to select seats from a seat map. Tickets can be printed out.
Step 2, buy a ticket from Ruse to Bucharest at the Romanian Railways international website bileteinternationale.cfrcalatori.ro.
Click EN top right for English. For Bucharest use Bucuresti (Romania). Booking usually opens 60 days before departure. Look for train 460 (summer) or 1094 (winter) arriving 17:17. You print your own ticket or can show it on your phone.
Or if that fails, buy a ticket from Giurgiu Nord to Bucharest at the Romanian railways domestic website www.cfrcalatori.ro, reports suggest the conductor doesn't care whether your ticket is from Ruse or Giurgiu. Or buy from the conductor, in Romanian cash or he may accept cards.
-
How to buy tickets at the station
By all means go to the international ticket windows at Sofia Central and ask for a ticket to Bucharest, but it's reported they can't currently sell tickets to Bucharest. So buy tickets as follows:
Step 1, go to the domestic ticket windows downstairs at Sofia central station and buy a ticket from Sofia to Ruse on the Romanian border.
If you tell them you're going to Bucharest, they'll book your seat in the through carriage to Bucharest in the period when it runs direct.
There are almost always places, even on the day.
Step 2, buy the Ruse to Bucharest ticket online at the Romanian Railways international website bileteinternationale.cfrcalatori.ro.
Click EN for English, use Bucuresti for Bucharest. You should get a .pdf ticket you can print or show on your phone.
If you have any problems, use your phone to buy a ticket from Giurgiu Nord to Bucharest at the Romanian Railways domestic website www.cfrcalatori.ro, looking for train 460 (summer) or 1094 (winter) arriving 17:17. Reports suggest that the conductor won't care whether your ticket is from Ruse or Giurgiu.
If all else fails, buy a ticket from the Romanian conductor on board the train when you get to Ruse. He will accept cash in Romanian currency or possibly euros, he will usually also accept bank cards, but he won't accept Bulgarian currency.
Crazy, eh? Hopefully they'll find a better way to ticket this at some point. Feedback appreciated.
Incidentally, if you're making a round trip starting in Bucharest, you can buy Bucharest-Sofia tickets in either direction at the Romanian Railways website bileteinternationale.cfrcalatori.ro but hard copy tickets must be collected from the CFR international ticket office at Bucharest Gara de Nord. So don't use this method if you can't collect tickets in Romania before you go to Sofia!
Sofia to Budapest & Vienna
The line between Belgrade and Budapest is blocked for major upgrading. So the best route to Budapest and Vienna is currently via Bucharest.
-
Step 1, travel from Sofia to Bucharest, leaving Sofia Central* at 07:00, arriving Bucharest Nord 17:17.
In summer from mid-June to early October this is a direct train, or rather, one 2nd class Sofia-Bucharest through coach with side corridor & compartments. The other cars in this train run between Sofia & Ruse.
At other times of year it's two separate trains either side of Ruse, arrive 13:31, depart 14:15. You change at Ruse from a Bulgarian train into a modern air-conditioned Romanian diesel unit for the last leg to Bucharest, although the end-to-end timings are exactly the same.
There's no catering so bring a picnic and some wine or beer, a good book, and enjoy the ride. It's a lovely scenic route, meandering at leisurely speed through the beautiful green valleys of Bulgaria. You then cross the Danube from Ruse in Bulgaria to Giurgiu in Romania over Europe's longest steel bridge, 2.5 km long.
* Important update: Due to track upgrading, from 7 May 2024 for up to a year, the train will start at Sofia Sever (Sofia North) at 07:06. Sofia Sever is 2.7 km from Sofia Central, see map). You can take the 06:50 suburban train from Sofia Central to Sofia Sever or take a taxi from your hotel.
The fare is around €34 including seat reservation. 2nd class only.
By all means go to the international ticket windows at Sofia Central and ask for a ticket to Bucharest, but it's reported they can't currently sell tickets to Bucharest. So buy tickets as follows:
Step 1, go to the domestic ticket windows downstairs at Sofia central station and buy a ticket from Sofia to Ruse on the Romanian border.
If you tell them you're going to Bucharest, they'll book your seat in the through carriage to Bucharest in the period when it runs direct.
There are almost always places, even on the day.
Step 2, buy the Ruse to Bucharest ticket online at the Romanian Railways international website bileteinternationale.cfrcalatori.ro.
Click EN for English, use Bucuresti for Bucharest. You should get a .pdf ticket you can print or show on your phone.
If you have any problems, use your phone to buy a ticket from Giurgiu Nord to Bucharest at the Romanian Railways domestic website www.cfrcalatori.ro, looking for train 460 (summer) or 1094 (winter) arriving 17:17. Reports suggest that the conductor won't care whether your ticket is from Ruse or Giurgiu.
If all else fails, buy a ticket from the Romanian conductor on board the train when you get to Ruse. He will accept cash in Romanian currency or possibly euros, he will usually also accept bank cards, but he won't accept Bulgarian currency.
Enjoy an evening in Bucharest and have dinner.
-
Step 2, travel from Bucharest to Budapest by sleeper train Muntenia, leaving Bucharest Nord at 19:45, arriving Budapest Keleti 12:50.
The Muntenia has 4 & 6-berth couchettes and ordinary seats. A Romanian sleeping-car is attached from Bucharest as far as Arad (arrive 08:41). There's no catering car, so bring your own food & drink.
Fares start at €40 with a couchette in 6-berth or €47 with a couchette in 4-berth. These are limited-availability advance-purchase fares.
Book this at the Romanian Railways international website bileteinternationale.cfrcalatori.ro/en. You print your own ticket.
If you want the comfort & privacy of a proper sleeper from Bucharest to Arad, (1) book berths in a 1, 2 or 3-bed sleeper from Bucharest Nord to Arad at the Romanian Railways domestic website bilete.cfrcalatori.ro and print your own ticket. A single sleeper all to yourself costs as little as €59. Then (2) book a 2nd class seat from Arad to Budapest from €17 using the Romanian Railways international website bileteinternationale.cfrcalatori.ro/en (you print your own ticket) or using the Hungarian Railways website www.mavcsoport.hu (you print your own ticket or can show it in the MAV app). Booking opens 60 days ahead.
-
Step 3, travel from Budapest to Vienna by EuroCity train, leaving Budapest Keleti at 14:40, arriving Vienna Hbf 17:20.
An earlier connection is possible, but I'd allow for delay and book this one.
Fares start at €19.90 in 2nd class or €29.90 in 1st class. Fares vary like air fares, so book ahead.
Book this train at www.thetrainline.com (easy to use, in €, £ or $, international credit cards no problem, small booking fee) or at the Austrian Railways website www.oebb.at (in €, a bit more fiddly, same fares). Booking opens up to 6 months ahead and you print your own ticket.
Sofia to Athens, Thessaloniki & Greece
There used to be a Sofia-Thessaloniki train, but problems in Greece mean it hasn't run south of the border since around 2018.
Option 1, by bus to Thessaloniki then train to Athens.
-
Step 1, travel from Sofia bus station to Thessaloniki by bus, taking around 5h, see www.flixbus.com.
-
Step 2, travel from Thessaloniki to Athens by train.
Trains link Thessaloniki with Larissa and Athens every couple of hours, journey time as little as 4h09 after a significant speed-up in 2019 (one morning train takes only 3h57). It's a wonderfully scenic ride, past Mount Olympus and along the Aegean, then past the mountains south of Larissa, see the photos & information here. The fare is €45 in 2nd class or €55 in 1st class, you can buy tickets from Thessaloniki to Athens either at the station or at www.hellenictrain.gr with print-at-home tickets, see the step-by-step advice on using it here.
Option 2, by train + bus to Thessaloniki then train to Athens - more interesting, less time in a bus.
-
Step 1, travel from Sofia Central to Blagoevgrad by train.
Journey time around 2h10-2h30 by fast train, fare around €5. Various departures every day.
Check times & buy a ticket at the Bulgarian Railways website www.bdz.bg.
More about Blagoevgrad at en.wikipedia.org/wiki/Blagoevgrad.
-
Step 2, travel from Blagoevgrad to Thessaloniki railway station by bus.
3 buses a day, journey time 3-4h, fare around €9, check times & buy a ticket at ardatur.bg.
In Blagoevgrad, the bus stop is on the main road just outside the station.
-
Times may vary, check for yourself, but for example you may find:
07:30 train from Sofia Central connects with an 11:30 bus from Blagoevgrad, arriving Thessaloniki station at 15:25.
10:20 train from Sofia Central connects with an 14:10 bus from Blagoevgrad, arriving Thessaloniki station at 18:30.
12:35 train from Sofia Central connects with an 18:15 bus from Blagoevgrad, arriving Thessaloniki station at 22:30.
-
Step 3, travel from Thessaloniki to Athens by train.
Trains link Thessaloniki with Larissa and Athens every couple of hours, journey time as little as 4h09 after a significant speed-up in 2019 (one morning train takes only 3h57). It's a wonderfully scenic ride, past Mount Olympus and along the Aegean, then past the mountains south of Larissa, see the photos & information here. The fare is €45 in 2nd class or €55 in 1st class, you can buy tickets from Thessaloniki to Athens either at the station or at www.hellenictrain.gr with print-at-home tickets, see the step-by-step advice on using it here.
Sofia to Moscow
-
There are currently no international trains to or from Russia due to the war in Ukraine.
Sofia to Zagreb, Munich, Paris, London
-
See the London to Bulgaria page for details. Look for the inward journey details.
-
Alternatively, step 1, travel to Bucharest as shown here. Step 2, then see the Trains from Bucharest page for onward trains. I'd allow plenty of time in Belgrade for connections, and if necessary stay overnight. Route currently operating OK.
Sofia to all other destinations: Brussels, Amsterdam, Copenhagen & Scandinavia, Spain & Portugal
Option 1, via Bucharest & Budapest
-
Day 1, travel from Sofia to Bucharest by daytime train then Bucharest to Budapest by sleeper, as shown above.
You leave Sofia station at 07:00 on day 1, spend an evening in Bucharest and arrive Budapest Keleti at 12:50 on day 2.
-
Day 2, travel from Budapest to other cities as shown on the Trains from Budapest page.
You can take a daytime train from Budapest to Munich, Bratislava, Prague and arrive in the evening of day 2.
You can take a sleeper from Budapest to Warsaw or Berlin, arriving in the morning of day 3.
You can take a train to Vienna then a sleeper to Paris, Brussels, Amsterdam, Cologne, Hamburg or Zurich arriving in the morning of day 3.
Option 2, via Belgrade
-
Not currently a viable option while the Sofia-Belgrade and Belgrade-Zagreb trains remain suspended.
Hotels in Sofia
For an inexpensive hotel with great reviews near Sofia Central station, see here.
Backpacker hostels
www.hostelworld.com: If you're on a tight budget, don't forget about backpacker hostels. Hostelworld offers online booking of cheap private rooms or dorm beds in backpacker hostels in most cities at rock-bottom prices.