The Belgrade Fortress was built as a defensive structure on a ridge overlooking the confluence of the Sava and the Danube rivers during the period from the 2nd
Photo: Jorge Láscar from Melbourne, Australia, CC BY 2.0
Beyond Sofia

Sofia to Belgrade: Bus, Car or Bus and Train via Nis

There is no train from Sofia to Belgrade in 2026. The buses, the drive, the Nis combo and the Kalotina border.

Belgrade, the Serbian capital, sits about 400 km northwest of Sofia, and the Orient Express ran between the two cities until 1977. Today the bus does the job. This guide covers the buses and fares, the bus and train combo through Nis, the drive, the Kalotina border, money in Serbia and the trip back.

Sofia to Belgrade at a glance

The route runs west from Sofia to the Serbian border at Kalotina, then through Nis and north up the Morava valley to Belgrade, on motorway almost all the way.

OptionTimeOne wayBest for
Direct busAbout 6 to 7 hoursFrom about €38Almost everyone
Car4 to 5 hours plus the borderFuel and e-vignetteYour own timing, a stop in Nis
Bus to Nis, then trainAbout 12.5 hoursAbout €29Rail fans

The bus from Sofia to Belgrade

The bus is how I'd go. Several companies run direct buses every day, and you buy a ticket and go, with no change on the way.

Bus companies, times and fares

FlixBus runs 4 buses a day from Sofia to Belgrade, the first at 7:00 AM and the last at 4:00 PM, with fares from €37.98 and a fastest time of 6 hours for the 401 km. Karat-S and Citylines also run the route, and fewer buses run midweek and on Sundays.

Fares start at about €38 and climb in July and August and on late bookings. Some companies charge a small cash fee for a bag in the hold, paid to whoever loads it.

Where the Belgrade buses leave from in Sofia

Most Belgrade buses leave from Sofia Central Bus Station, at 100 Knyaginya Maria Luiza Boulevard, and some FlixBus runs list Serdika bus station next door at No. 102.

The glass building of Sofia Central Bus Station at dusk, with its name in Cyrillic and Latin letters along the roof and an orange tram passing in front
Photo: Bin im Garten, CC BY-SA 3.0

Both stations stand next to Central Railway Station, on the blue M2 line of the Sofia metro, so a €0.80 ride from the center gets you there.

Where the bus arrives in Belgrade

Belgrade's main bus station moved in September 2024 from its old central site to a new terminal in Block 42 in New Belgrade, across the Sava from the old town.

Day bus or night bus

Both exist. A morning bus costs you a day but shows you the hills on the way up to the border, and in summer it leaves time in hand for a slow crossing at Kalotina. A night bus saves a hotel night, but you sleep sitting up through a passport stop in the small hours. I'd take a morning bus and leave the evening free in Belgrade.

Is there a train from Sofia to Belgrade?

No. The direct Belgrade to Sofia train was suspended in 2020 and never came back, and in 2026 even the cross-border train from Dimitrovgrad to Sofia has been cut. There is no rail service across this border at all.

What remains is a bus to Nis, Serbia's third city, and a Serbian train from Nis to Belgrade. The Nis Ekspres bus between Sofia and Nis costs about €20, and the train between Nis and Belgrade about €9. In Nis the bus and train stations are 2 km apart, a 28-minute walk or a short taxi ride. You buy the bus ticket on the Nis Ekspres website and the train ticket at the station on the day, and the bus leaves from the bus station next to Sofia's train station.

PlanBus from SofiaArrives in NisTrain from NisArrives in Belgrade
In one day7:30 AM11:35 AM12:25 PM6:58 PM
One day, later train7:30 AM11:35 AM3:40 PM10:03 PM
Overnight in Nis4:00 PM9:00 PM7:15 AM next day1:10 PM

The Serbian train is an air-conditioned regional electric train with first and second class, toilets and plenty of luggage space, and no catering, so bring food. Times are local, and Serbia is an hour behind Bulgaria, so the one-day plan really takes about 12.5 hours for about €29. I'd only do it for the ride, since the direct bus takes about half that for about €38.

The Kalotina border

Every bus and car crosses into Serbia at Kalotina on the Bulgarian side and Gradina on the Serbian side, on the E80. The checkpoint is open around the clock, and on a quiet day the bus is through in a few minutes, with officers checking passports on both sides.

The Bulgarian checkpoint at Kalotina, a long canopy marked Republic of Bulgaria in Cyrillic and Latin letters over lanes of cars, with green hills behind
Photo: Upwinxp, CC BY-SA 4.0

It is also one of the busiest crossings in southeastern Europe, and from June to September lines of trucks and summer traffic can turn it into an hour or more of waiting. I'd never book a tight connection in Belgrade for the same evening.

Driving from Sofia to Belgrade

Driving lets you cross the border on your own schedule. Moving time is about 4 to 5 hours plus the Kalotina wait. You take the A6 Europe motorway for about 63 km from Sofia to Kalotina, then Serbia's A4 down to Nis and the E75 north to Belgrade, motorway or close to it for nearly all of the drive.

The Bulgarian stretch to the border needs an e-vignette, the one electronic pass that covers motorways and main roads for getting around Bulgaria by car. A rental car needs the company's permission to cross into Serbia, so arrange it when you book. A green card is not required for this border, because both countries recognize the car's Bulgarian insurance.

A car also makes Nis an easy lunch stop, since the motorway runs right past it.

Passport, dinars and phones in Serbia

Serbia is outside the EU and the Schengen area, so this is a full international border with passport checks both ways. EU, EEA and Swiss citizens can cross on a national ID card and stay up to 90 days in any 180, and most other visitors need a passport. Coming back into Bulgaria you re-enter Schengen, where non-EU visitors register in the EU's Entry/Exit System, and the days in Serbia do not count toward the Schengen 90 days in any 180.

Serbia uses the dinar. Sofia has priced everything in euros since 1 January 2026, so money in Bulgaria means euros, but in Belgrade you need dinars for taxis, kiosks and the bus station.

Phones need a plan too. EU roaming rules stop at the Serbian border, so a Bulgarian SIM or eSIM bought for the EU charges international rates in Belgrade unless its plan lists Serbia by name.

Bus, car or the Nis combo: which to pick

  • The direct bus for almost everyone. It is cheap, runs several times a day and needs no change.
  • The 7:00 AM bus in summer, the first FlixBus of the day, so a long wait at Kalotina still gets you to Belgrade for the evening.
  • A car if you want to stop in Nis, keep your own timetable or carry awkward luggage. Sort the rental permission first.
  • The Nis bus and train only if you love trains and have a full day, since it takes about 12.5 hours either way.

On the trip from Sofia to Bucharest, Schengen took the passport check away. At Kalotina you still show your documents twice, once to each country.

Your first evening in Belgrade

Belgrade is a big riverside capital, and its fortress, Kalemegdan, stands on the ridge above the point where the Sava flows into the Danube. The walls look straight down on the two rivers, which makes it the place I'd head for on the first evening.

The brick and stone walls of Belgrade Fortress with an arched gate, and the tall column of the Victor monument rising above them under a cloudy sky
Photo: Amalija Vitezovic, CC BY-SA 4.0

The city's nightlife runs late, and much of it happens on floating clubs moored along the rivers. After a few nights in Sofia's clubs, a club on a boat is the change I'd go looking for.

Belgrade to Sofia: the trip back

The direct buses run the same road back, and FlixBus and the other companies sell Belgrade to Sofia tickets online. Leave time for the taxi or city bus out to Block 42 from the old town.

Rail fans can do the combo in this direction too. The 7:30 AM train from Belgrade Centar reaches Nis at 2:08 PM, and the 4:00 PM Nis Ekspres bus gets into Sofia's bus station, next to the train station, at 9:00 PM. If Belgrade is one stop on a longer loop, Skopje is the next capital south, and Sofia to Skopje is a 5-hour bus ride. A Balkans itinerary from Sofia treats Belgrade as an add-on, a direct bus out from Sofia and back.

Key takeaways

  • There is no direct train from Sofia to Belgrade in 2026; take the bus.
  • Buses take about 6 to 7 hours and cost from about €38, with FlixBus running 4 a day between 7:00 AM and 4:00 PM.
  • Kalotina is a full passport border, and summer queues can add an hour or more, so leave early.
  • Buses arrive at the new bus station in Block 42, New Belgrade, and leaving it costs a 300-dinar platform fee in cash.

Frequently asked questions

Is there a train from Sofia to Belgrade?

No. The direct train was suspended in 2020, and in 2026 the Dimitrovgrad to Sofia train was cut too. The rail option is a bus from Sofia to Nis and a Serbian train from Nis to Belgrade.

How long is the bus from Sofia to Belgrade?

About 6 to 7 hours, with the fastest FlixBus run at 6 hours. Add an hour or more in summer if the queue at the Kalotina border is long.

How much is the bus from Sofia to Belgrade?

Fares start at about €38 one way and rise in July and August. Some companies add a small cash fee for a bag in the hold.

Is Bulgaria close to Serbia?

Yes. The Serbian border at Kalotina is about 63 km from Sofia on the A6 motorway, and Belgrade is about 400 km away by road.

Do I need a passport to go from Sofia to Belgrade?

Yes, unless you are an EU, EEA or Swiss citizen with a national ID card. Serbia is outside the EU and Schengen, so passports are checked on both sides of the border.

Which Sofia bus station do Belgrade buses leave from?

Most leave from Sofia Central Bus Station at 100 Knyaginya Maria Luiza Boulevard, next to Central Railway Station on metro line M2. Some FlixBus runs use Serdika bus station two minutes away, so check the stop printed on your ticket.

Does Sofia have Uber?

No. Uber and Bolt send no cars in Bulgaria, so taxis in Sofia are ordered through apps such as TaxiMe or Yellow!, or by phone from a licensed company.

Is Belgrade worth visiting from Sofia?

Yes, for a night or two. Its fortress above the meeting of the Sava and the Danube and its late nightlife on the river clubs make it a good contrast to Sofia, 6 to 7 hours away by bus.