Bucharest to Sofia: Bus, Train & Route
How to get from Bucharest to Sofia in 2026: bus (~7h), the scenic train over the Danube, flying, or driving via Ruse - and why to stop in Veliko Tarnovo.
The quickest honest answer: take the bus. FlixBus and a few smaller lines run Bucharest to Sofia in about seven hours for roughly 15 to 30 euros, several times a day, city centre to city centre. The train is slower (about nine and a half hours) but far more scenic and crosses the Danube on a 1954 steel bridge; flying saves time on paper but not much once you count airports; and driving is a straightforward five to six hours if you want to stop along the way. Whichever you pick, you cross the Danube once, at the Giurgiu-Ruse bridge, and since both countries joined Schengen there are usually no border queues to speak of.
This guide covers all four ways, the border crossing itself, and the one detour worth building in: Veliko Tarnovo, the old Bulgarian capital that sits almost exactly halfway and turns a long transfer into a proper mini-trip. If you are still exploring Romania first, our 7-day Romania itinerary and things to do in Bucharest cover the days before you leave.
The bus: cheapest, most frequent, about 7 hours
For most people the bus wins on simple maths. FlixBus runs the route roughly three times a day, with the first departure from Bucharest around 10:10 in the morning and the last late in the evening; the scheduled run is about six and three-quarter hours one way, though the reverse direction and heavier days push closer to seven and a half. Fares start low, often in the 15 to 30 euro range depending on how far ahead you book. Union Ivkoni (sometimes sold as Unibus) and a couple of smaller Bulgarian operators run it too, occasionally undercutting FlixBus to the low teens.
The one thing to get right is which terminal your bus leaves from. Bucharest has several coach stations, and FlixBus and Ivkoni do not always use the same one - your ticket names the exact stop (often Autogara Filaret or a Militari-area terminal), so read it rather than guessing. In Sofia the buses arrive at the Central Bus Station next to the central railway station, which is a short metro or taxi hop from the centre.
Book online and you get a seat and a fixed price; the coaches are modern, with wifi and a toilet, and there is a rest stop on the way. Build in a time buffer if you have an onward connection: even though Schengen removed the passport control, a queue of freight trucks on the single Danube bridge can still add half an hour or more on a bad day, and at least one traveller has clocked a ninety-minute delay arriving into Bucharest from a border backup. It is the exception, not the rule, but do not book a same-evening flight out of Sofia on a tight margin.
The train: slower, but the ride is the point
If you like train travel, this is the interesting choice. One train runs each way per day: Bucharest Gara de Nord departs around 10:46 and reaches Sofia central at about 20:41, so roughly nine and three-quarter hours, versus about seven by bus. You pay for the scenery and the calm, not for speed.
The route is a story in itself. The train heads south to Giurgiu, crosses the Danube on the Friendship Bridge - a 2.5 km steel truss from 1954, with the railway on the lower deck and the road above - and rolls into Ruse on the Bulgarian bank. From there it climbs inland via Gorna Oryahovitsa (the junction for Veliko Tarnovo, see below) to Sofia. From mid-June to early October it usually runs as a direct through-coach - a single old-school Bulgarian second-class carriage with side corridor and six-seat compartments - so you never change. Outside that window you change at Ruse: the Romanian air-conditioned diesel unit brings you down from Bucharest, arriving around 13:40, and you switch onto the Bulgarian Ruse-Sofia train that leaves about 14:25. It is a genuine change with a 45-minute connection, not a cross-platform step.
On price, the train is not the bargain the bus is: the official BDZ fare for Sofia to Bucharest is 30.60 euros in second class one way, plus a 1.25 euro seat reservation you should buy. Book at a station counter, through BDZ (bdz.bg) on the Bulgarian side or CFR Calatori on the Romanian side; timetables shift with the season, so check the live board at razpisanie.bdz.bg for your travel date rather than trusting a printed time. Bring water and snacks - catering is not guaranteed on this run.
Worth knowing: the credit for the “longest steel bridge in Europe” and the through-coach quirks come from the same corridor that carries the old Bucharest-Istanbul sleeper, so if you have ever read about that romantic overnight train, this is the Bulgarian half of its route.
Should you fly?
Only if time is genuinely tight or you are connecting onward. The flight itself is short - about 1 hour 15 minutes in the air, OTP (Bucharest Henri Coanda) to SOF (Sofia) - and it is a busy route, with TAROM and Bulgaria Air flying it nonstop and Wizz Air or Ryanair on some dates. Fares often start around 50 euros one way.
The catch is everything around the flight. Add getting out to Otopeni, checking in, security, the wait, and the trip from Sofia airport into town, and your quick 75-minute hop becomes a half-day of about three and a half to four hours door to door - not far off the bus, for more money and more hassle, on a corridor this short. If you need the airport anyway to catch a long-haul connection, fine; otherwise the bus usually beats it on real-world time and cost. Our which airport for Romania guide covers getting to and from OTP.
Driving it yourself
Driving is a real option, especially if you want to stop, and it is not a long day: about 382 to 398 km and five to six hours, depending on the exact route. You head south out of Bucharest to Giurgiu, cross the bridge, and continue through Ruse either straight down to Sofia or via Veliko Tarnovo.
Two admin points catch people out. First, road tolls come as electronic vignettes for both countries - the Romanian rovinieta for the Romanian roads (our driving in Romania guide explains it in full) and a separate Bulgarian e-vignette for the Bulgarian side; buy each online or at a fuel station near the border. Second, there is a small toll for the Danube bridge itself, paid at the booth on the Romanian side, separate from the vignettes - carry a little cash and confirm the current amount there.
The bigger issue is a rental car. Most Romanian rental companies restrict or surcharge taking the car out of the country, and crossing into Bulgaria usually needs the company’s written permission plus a Green Card (the insurance extension for abroad). Sort this at the counter before you sign - it is exactly the kind of thing our car rental in Romania guide flags. Border waits are short now, typically under half an hour for a car off-peak, though a summer weekend or a truck queue can stretch that.
The border: what Schengen changed
Here is the good news that makes the whole trip easier than the guidebooks written a few years ago suggest. Romania and Bulgaria joined the Schengen Area for land borders on 1 January 2025. In practice that means the systematic passport and customs control at the Giurgiu-Ruse crossing is gone: for a bus, train or car you now usually roll through with, at most, an occasional random spot check by border police.
Two sensible caveats. It is still an international journey, so carry your passport or national ID - a spot check can happen, and you need ID to travel regardless. And “usually no checks” is not “never”: rules and enforcement can change, and a heavy freight day still bottlenecks the single bridge. Treat the crossing as easy but not invisible, and keep your documents to hand rather than buried in a bag. And do not assume every crossing out of Romania is this smooth: the run from the west to Belgrade is a different story, because Serbia sits outside Schengen and the EU - our Timisoara to Belgrade guide covers that real passport-and-customs border.
Stop in Veliko Tarnovo - the detour that makes the trip
If you take one thing from this guide, take this: Veliko Tarnovo sits almost halfway between the two capitals, and breaking the journey there turns a slog into a highlight. It was the capital of the medieval Bulgarian Empire, and it is spectacular - a town of old houses stacked up steep gorge walls above the Yantra river, crowned by the Tsarevets fortress.
Getting there shapes how you split the trip. By train, the mainline station is Gorna Oryahovitsa, about 8 to 9 km out; take the Bucharest-Sofia train that far, then a local bus or taxi into the old town. There are also direct buses from Bucharest (for example from the Militari terminal, running a few days a week, roughly four and a quarter hours), and a common budget combo is a shuttle or bus Bucharest to Ruse, then a short train or bus Ruse to Veliko Tarnovo. Any of these lets you build the route as Bucharest - Ruse - Veliko Tarnovo - Sofia over two or three days instead of one long haul.
Money: you cross a currency line too
One practical detail that trips up first-timers. Romania is not in the eurozone - it uses the Romanian leu (RON, lei), so your Bucharest bus ticket, coffee and taxi are in lei. Bulgaria, on the other hand, adopted the euro on 1 January 2026 and has used it as the sole currency since 1 February; the lev is gone. So you leave a lei country and arrive in a euro one, which actually simplifies things on arrival - fares quoted by Bulgarian operators like BDZ are now in euros. Card payment is normal on both sides for buses, trains and flights, so you rarely need much cash beyond that small bridge toll if you drive.
So which should you take?
If you just want to get there cheaply and reliably, book the bus - about seven hours, frequent, and it drops you near the centre of Sofia. If the journey is part of the fun and you are not in a hurry, take the train in summer when it runs direct, for the Danube bridge and the slow roll through the Bulgarian countryside. Fly only if time is tight or you are connecting onward, because the airport overhead eats the speed advantage on a corridor this short. And if you can spare an extra day, stop in Veliko Tarnovo - it is the single change that turns a transfer between two capitals into a trip worth remembering. Whatever you choose, the border is the easy part now: one bridge, one river, and, since 2025, barely a pause.
Photos
Admission and opening hours
- Admission price
- Bus (FlixBus, Union Ivkoni) from about 15-30 EUR one way, roughly 7 hours. Train (BDZ/CFR) second class 30.60 EUR one way plus a 1.25 EUR seat reservation, about 9.5-10 hours. Flight OTP-SOF from about 50 EUR, 1h15m in the air. All fares move with date and demand.
- Opening hours
- Bus: about 3 departures a day, first from Bucharest around 10:10, last around 23:45. Train: one a day each way, Bucharest Gara de Nord dep ~10:46, arr Sofia ~20:41. Flights several a day.
Romania and Bulgaria have been in the Schengen Area (land borders) since 1 January 2025, so there are usually no passport checks at the Giurgiu-Ruse crossing, only occasional spot checks - carry your ID or passport anyway. Bulgaria switched to the euro on 1 January 2026. Prices, times and rules change: check the operator (FlixBus, bdz.bg, the airline) before you travel. Checked July 2026.
Details checked: July 6, 2026



