Belgrade. View to Kalemegdan fortress in evening sunset light
Photo: Bestalex, CC BY-SA 4.0
Beyond Sofia

Sofia to Belgrade: The Coach, the Nis Route and the Drive

How I get from Sofia to Belgrade: the 6-hour coach, the bus and train via Nis, and the border at Kalotina.

Belgrade, the Serbian capital, sits about 400 km north-west of Sofia on a ridge above the spot where the Sava runs into the Danube, and it's the first city I'd add to a Bulgaria trip. The train between the two is suspended, so this is how I do it: the direct coach, the bus and train via Nis, the drive through Kalotina, the border rules and what to see when you get there.

How to get from Sofia to Belgrade: the quick answer

Book the coach. It's direct, there's no change on the way, and it takes half as long as the bus and train via Nis. I only drive when I want a car in Serbia afterwards.

CoachBus and train via NisCarDirect train
TimeAbout 6 hours07:30 to 18:58 by the timetableAbout 400 km, motorway from the Serbian borderSuspended
CostFrom about €38 one wayAbout €20 bus plus about €9 trainFuel, a Bulgarian e-vignette and Serbian tollsNone
Leaves fromSerdika or Central bus station, plus 2 other stopsSofia Central Bus StationAnywhere in SofiaNone
Arrives atBelgrade bus station, Autokomanda or Belgrade SouthBelgrade Centar railway stationWherever you parkNone
How oftenAbout 4 a day, 07:00 to 16:00One same-day connection, or the 16:00 bus and a night in NisWhenever you likeNone
My verdictMy pickFor an Interrail pass or a stopoverFor a road trip in SerbiaNot an option in 2026

It's the same order I use for getting around Bulgaria: the coach between cities, and the train when its times work. I don't fly this one. Crossing Sofia to the airport, checking in and riding in from Belgrade's Nikola Tesla Airport eats a good part of the 6 hours the coach takes from bus station to bus station.

Sofia to Belgrade by bus

FlixBus runs the route, and its fares climb as a coach fills, so I book a week or two ahead for a Friday.

Coach times and how long the trip takes

Leaves SofiaGets you to BelgradeGood for
07:00Around midday, Serbian timeA first afternoon on the fortress walls
16:00Around 9pm, Serbian timeA Friday getaway, straight to bed

The 07:00 is the one I take. The departures in between show up when you search your date on FlixBus.

Where the coach leaves from in Sofia

FlixBus picks up at four stops in Sofia, and your ticket names the one for your coach:

  • Serdika bus station, 102 Knyagina Maria Luisa Boulevard
  • Sofia Central Bus Station, 100 Knyagina Maria Luisa Boulevard, next door to Serdika
  • Sofia Bus Station West, 1 Ovcha Kupel Boulevard, in the south-west of the city
  • The Vasil Levski Monument, 9 Yanko Sakazov Boulevard, on the east side of the centre

Serdika and Central stand side by side next to Sofia Central Railway Station, north of the centre. Line M2 of the Sofia metro stops at Central Railway Station, a short walk away, and that's how I get there with a bag.

The entrance to Sofia Central Bus Station under its Cyrillic sign, with a row of yellow taxis waiting outside
Photo: Bin im Garten, CC BY-SA 3.0

Flying in from the UK and heading straight on? Aim for the 16:00, which means landing by about 2pm. The airport metro runs from Terminal 2 to Serdika, where you change onto M2 for Central Railway Station. If your booking says Terminal 1, get across to Terminal 2 first.

Where the coach stops in Belgrade

FlixBus stops in three places at the Belgrade end, and your ticket says which ones your coach calls at:

  • Belgrade bus station, Blok 42 in New Belgrade, across the Sava from the old town
  • Autokomanda, two stops (one for each direction) at the motorway junction south of the centre
  • Belgrade South

I pick my stop by where I'm sleeping. Autokomanda is the closer one for rooms around Vracar, the district of the Church of Saint Sava, while the main bus station suits New Belgrade, and the old town is a short taxi ride over the bridge from there.

Tickets, fares and luggage

I book on FlixBus's Sofia to Belgrade page or in its app, then show the QR code on my phone to the driver, so there's nothing to print. Every ticket includes a 7 kg carry-on and a 20 kg bag in the hold, and you can add a bike or a second bag when you book.

The coaches have free wifi, plug sockets, a toilet and reclining seats, and you can reserve a seat as you book. Keep your passport in your carry-on, because you'll hand it over twice before Belgrade.

Is there a train from Sofia to Belgrade?

No. The direct train between Sofia and Belgrade remains suspended in 2026, and the train from Sofia to Dimitrovgrad, the Serbian border town, stopped running this year too. Until then you could patch the trip together: a train from Sofia to Dimitrovgrad, a 104 km gap to Nis, and the Serbian train on to Belgrade.

BDZ, Bulgarian State Railways, runs three international routes from Sofia, to Istanbul, Bucharest and Craiova, and none of them goes to Serbia. I take Bulgaria's trains for the sleeper to Istanbul and the day train to Bucharest. For Belgrade, the rails start at Nis.

The bus and train via Nis

Nis is Serbia's third city and sits on the main railway line to Belgrade. Take the morning bus there from Sofia Central Bus Station, then the train:

LegTimesFare
Bus, Sofia to Nis bus station07:30 to 11:35About €20
Bus station to railway station2 km, about 28 minutes on footA short taxi ride
Train, Nis to Belgrade Centar12:25 to 18:58About €9 (1,080 dinars)
Back-up train if you miss it15:40 to 22:03About €9

The bus is run by Nis Express, and I book it on its website. Serbian Railways sells the train ticket at Nis station on the day or on its e-ticket site, which is in Serbian only. An Interrail pass covers the train and not the bus.

Station to station that's about 12 hours for about €29, twice as long as the coach for about €9 less. I'd only do it with a rail pass, or with a night in Nis to split it.

A night in Nis on the way

Nis is my favourite way to break the trip. Constantine the Great, the Roman emperor, was born here, and the Ottoman fortress stands on the Nisava river right in the centre of town.

For the overnight plan, take the 16:00 bus from Sofia, into Nis at 21:00, then catch the 07:15 train next morning, into Belgrade Centar at 13:10. If you'd rather have the morning in Nis, the 12:25 gets you to Belgrade at 18:58.

The Stambol Gate, the pale stone main gate of Nis Fortress with a crenellated top, with people walking through its arch
Photo: MrPanyGoff, CC BY-SA 3.0

The fortress went up in the early 18th century on the site of older Roman and Byzantine walls. You walk in through the Stambol Gate, its main entrance, and inside it's a park, with paths along the walls and cafe tables under the trees. I'd book a room in the centre, within walking distance of the gate, and spend the evening there.

Driving from Sofia to Belgrade

It's about 400 km. You leave Sofia heading north-west past Slivnitsa and Dragoman to the border at Kalotina, which faces Gradina on the Serbian side. From Gradina, Serbia's A4 motorway runs 105 km past Dimitrovgrad and Pirot to Nis, where it meets the A1 for the run north to Belgrade.

Serbia's motorways are tolled, so keep dinars handy for the booths.

A car earns its place if you want Serbia beyond Belgrade, or a lunch stop in Pirot or Nis on the way.

Crossing the border at Kalotina

Serbia is outside the EU and the Schengen area, so this is a full border with two sets of checks. Bulgarian police check you out of Schengen at Kalotina, then Serbian police check you in at Gradina. UK passport holders are also registered in the EU's Entry/Exit System on the way out of Bulgaria and again on the way back in.

UK passport holders don't need a visa for Serbia for stays of up to 90 days in 6 months, and the passport must be valid for at least 90 days after you leave Serbia. Days in Serbia don't count towards your 90 days in Schengen, so a few nights in Belgrade leave your Bulgaria and Greece allowance untouched. Read the UK government's entry rules for Serbia before you go.

Serbia also wants every visitor registered with the police within 24 hours of arrival. Hotels do it for you at check-in, and in a private flat I ask the host to do it on day one.

Set your watch back an hour at Gradina, because Serbia runs an hour behind Bulgaria all year. Your money changes too. Bulgaria switched to the euro on 1 January 2026, while Serbia uses the dinar, and a 1,000-dinar note is worth about €8.50, so I draw dinars from a cash machine on the first afternoon.

Phone data stops at the border too: the EU roaming allowance on a Bulgarian SIM card doesn't stretch to Serbia, so I sort out a Serbian plan or a travel eSIM before I cross.

Arriving in Belgrade: Kalemegdan and Saint Sava

Belgrade is Serbia's capital and its biggest city, and the old town sits on a ridge with the Sava on one side and the Danube on the other. Its two big sights are the fortress and the Church of Saint Sava, and I see both before anything else.

Belgrade Fortress and Kalemegdan Park

My first stop is always the fortress. Belgrade Fortress covers the tip of the ridge, and Kalemegdan Park wraps around its walls, with gates, paths and lookouts over the two rivers.

Brick walls and a small brick turret of Belgrade Fortress beside a path and lawn in Kalemegdan Park, with the river and New Belgrade in the haze behind
Photo: BrankaVV, CC BY-SA 4.0

I walk up Knez Mihailova, the pedestrian high street, from Republic Square and come out at the park gates at the far end. The walls and the park are open to wander, and the Victor, a bronze figure on a tall column, looks out over the confluence from the Upper Town. Sunset from the walls, with New Belgrade lit up across the water, is my favourite view in the city.

The Church of Saint Sava

The Church of Saint Sava, on the Vracar plateau, is one of the largest Orthodox churches in the world: white stone outside, a green dome, and gold mosaic covering the inside of the dome. The small older church of Saint Sava stands beside it.

The small old Church of Saint Sava in front of the huge white Church of Saint Sava with its green central dome, lit up at dusk in Belgrade
Photo: Syrio, CC BY-SA 4.0

See Alexander Nevsky Cathedral in Sofia before you go and you'll spot the family likeness: both are Byzantine-style churches under a big central dome, and Saint Sava's mosaics went up this century. I go first thing in the morning, when the nave is quiet.

A weekend in Belgrade from Sofia

Two nights is my minimum. A day trip means about 12 hours on the coach for a few hours in town, so I'd skip it.

WhenWhat I'd do
Friday, 07:00Coach from Sofia, in Belgrade around midday
Friday eveningKnez Mihailova to Kalemegdan for sunset over the rivers
Saturday morningThe Church of Saint Sava, before the crowds
Saturday afternoonOver the Sava to Zemun, the old Danube town that's now part of Belgrade, for the riverside walk
Saturday eveningDinner in Skadarlija, the cobbled street of old taverns
SundayA slow breakfast, then the coach back to Sofia

If you work on Fridays, the 16:00 does the same job and you start on Saturday morning instead. Belgrade is also the city I'd add with a third week on my Balkans loop, after Thessaloniki, Skopje and Ohrid.

Getting back from Belgrade to Sofia

FlixBus runs the route both ways, so I book the Sunday coach home when I book the Friday one and check its time then.

The train and bus work in reverse too. The 07:30 from Belgrade Centar reaches Nis at 14:08, and the 16:00 bus from Nis, 2,320 dinars, gets into Sofia at 21:00. For the overnight version, take the 15:40 train to Nis, in at 21:11, sleep, and catch the 04:40 bus, into Sofia at 09:50, or have the day in Nis and take the 16:00.

When I price flights from the UK to Sofia for friends who want Serbia as well, I check a one-way into Sofia and a one-way home from Belgrade. That saves the 6 hours back on the coach, and the last morning goes on Belgrade instead.

Key takeaways

  • No train runs between Sofia and Belgrade in 2026; the FlixBus coach takes about 6 hours from about €38.
  • The 07:00 coach gets you to Belgrade around midday, Serbian time, and the 16:00 around 9pm.
  • For a train ride, the 07:30 bus to Nis and the 12:25 train reach Belgrade Centar at 18:58 for about €29.
  • Serbia is outside Schengen: two passport checks, an entry stamp to look for and dinars to carry.
  • Give Belgrade two nights, and Nis one if you want to split the trip.

Frequently asked questions

Is there a train from Sofia to Belgrade?

No. The direct train is suspended in 2026 and the Sofia to Dimitrovgrad train has stopped as well. The nearest you'll get is the bus to Nis and the Serbian train from there to Belgrade Centar.

How long is the bus from Sofia to Belgrade?

About 6 hours on FlixBus, border included. The first coach leaves Sofia at 07:00 and the last at 16:00, with about 4 a day.

How much is the bus from Sofia to Belgrade?

From about €38 one way on FlixBus, with a 7 kg carry-on and a 20 kg bag included. The bus to Nis plus the Serbian train comes to about €29, but it takes most of the day.

How far is Belgrade from Sofia?

About 400 km by road. The route runs north-west through the Kalotina border crossing, then along Serbia's motorways via Nis.

What country does Belgrade belong to?

Serbia. Belgrade is the Serbian capital, and Serbia sits outside the EU and the Schengen area and pays in dinars.

Do UK citizens need a visa for Serbia?

No, not for stays of up to 90 days in 6 months. Your passport needs at least 90 days left on it after you leave Serbia, and you must be registered with the police within 24 hours, which hotels do at check-in.

Can you do Belgrade as a day trip from Sofia?

Not comfortably. The coach takes about 6 hours each way, so a day trip leaves you a few hours in town, and I stay at least two nights.