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 2024.
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
-
There is a comfortable sleeper train called the Sofia-Istanbul Express from 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 at 17:17.
In summer from mid-June to early October this is a direct train, consisting of one direct 2nd class coach with side corridor and compartments.
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 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.
You can confirm this schedule at the Bulgarian Railways website www.bdz.bg. Click English top right. Click Menu then 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 here before May or even early June. Patience!
Tip: The departure boards are in Cyrillic, look for train 462 (winter) or 460 (summer).
* Important: 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 like this:
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 Giurgiu Nord to Bucharest at the Romanian Railways website www.cfrcalatori.ro.
Look for train 460 (summer) or 1094 (winter) arriving 17:17. This is a Romanian domestic journey so can be e-ticketed. All reports suggest that the Romanian conductor won't care whether your ticket is from Ruse or Giurgiu, as long as you are ticketed between Giurgiu and Bucharest.
-
How to buy tickets at the station
By all means try asking for a ticket to Bucharest at the international ticket windows at Sofia Central, but reports all say they can't currently sell tickets to Bucharest, only as far as Ruse on the Romanian border. So buy that!
Step 1, buy a ticket from Sofia to Ruse at Sofia central station.
There are almost always places available, even on the day.
Step 2, buy the Ruse>Bucharest ticket on board the train from the Romanian conductor. He will accept cash in Romanian currency or possibly euros, he may accept bank cards, but he won't accept Bulgarian currency.
Alternatively, use your phone to buy a ticket from Giurgiu Nord to Bucharest at the Romanian Railways website www.cfrcalatori.ro, looking for train 460 (summer) or 1094 (winter) arriving 17:17. Giurgiu-Bucharest is a Romanian domestic journey so it can be e-ticketed. Reports suggest that the Romanian conductor won't care whether your ticket is from Ruse or Giurgiu.
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 and arriving Bucharest Nord at 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.
Buy a ticket at the international ticket windows at Sofia station.
Important update: By all means ask for a ticket to Bucharest, but Sofia ticket office may tell you that they can't currently sell tickets to Bucharest, only as far as Ruse, just south of the Romanian border. So buy that.
You then either (a) pay for a Ruse>Bucharest ticket on board the train when the Romanian conductor comes on at Ruse, in Romanian currency, cash only (it's possible he'll accept euros, but not Bulgarian Lev), or (b) buy a Giurgiu Nord to Bucharest ticket online using the Romanian Railways website www.cfrcalatori.ro, looking for train 460 (summer) or 1094 (winter) arriving 17:17. You pay by credit card and (as Giurgiu-Bucharest is a Romanian domestic journey) it can be e-ticketed. That only leaves the short cross-border hop from Ruse to Giurgiu which the conductor may or may not worry about. Crazy, eh? Hopefully they'll find a better way to ticket this at some point. Feedback appreciated.
Enjoy an evening in Bucharest and have dinner.
-
Step 2, travel from Bucharest to Budapest by sleeper train Muntenia, leaving Bucharest Nord at 21:00 and arriving Budapest Keleti at 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:54). 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 and arriving Vienna Hbf 17:21.
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 $, overseas 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.