There are 7 ways to get from Sofia to Belgrade by bus, train, car or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus Lasta  •  7 h 20 min

  1. Take the bus from Sofia to Niš
  2. Take the bus from Niš to Belgrade

$20 - $44

6 alternative options

Train, bus  •  8 h 9 min

  1. Take the train from Sofia to Dimitrovgrad 491
  2. Take the bus from Dimitrovgrad to Autokomanda

Bus, train  •  8 h 27 min

  1. Take the bus from Sofia to Niš
  2. Take the train from Niš to Belgrade B03 334

$27 - $70

Train  •  11 h 40 min

  1. Take the train from Sofia to Dimitrovgrad 491
  2. Take the train from Dimitrovgrad to Niš
  3. Take the train from Niš to Belgrade

$21 - $69

Bus Nikolic Prevoz D.O.O  •  11 h 51 min

  1. Take the bus from Sofia to Vidin
  2. Take the bus from Vidin to Negotin
  3. Take the bus from Negotin to Belgrade

$29 - $39

Drive  •  4 h 31 min

  1. Drive from Sofia to Belgrade 244.6 miles

$40 - $65

Fly  •  4 h 30 min

  1. Fly from Sofia (SOF) to Belgrade (BEG) SOF - BEG

$84 - $186

Questions & Answers

The cheapest way to get from Sofia to Belgrade is to bus which costs $20 - $45 and takes 7 h 20 min.

More details

The quickest way to get from Sofia to Belgrade is to fly which takes 4 h 30 min and costs $80 - $190.

More details

The distance between Sofia and Belgrade is 328 km. The road distance is 391 km.

Get driving directions

It takes approximately 7 h 20 min to get from Sofia to Belgrade, including transfers.

More details

No, there is no direct bus from Sofia to Belgrade. However, there are services departing from Sofia and arriving at Belgrade via Niš. The journey, including transfers, takes approximately 7 h 20 min.

More details

No, there is no direct train from Sofia to Belgrade. However, there are services departing from Sofia and arriving at Belgrade via Dimitrovgrad and Niš. The journey, including transfers, takes approximately 11 h 40 min.

More details

What companies run services between Sofia, Bulgaria and Belgrade, Serbia?

You can take a bus from Sofia to Belgrade via Niš in around 7 h 20 min. Alternatively, you can take a train from Sofia to Belgrade via Dimitrovgrad and Niš in around 11 h 40 min.

Airlines
Air Serbia
Website
airserbia.com
Flights from Sofia to Belgrade
Ave. Duration
1 h 10 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$130 - $280
Train operators
Serbian Railways
Website
srbvoz.rs
Train from Sofia to Dimitrovgrad
Ave. Duration
2 h 12 min
Frequency
Once daily
Estimated price
$2 - $5
Schedules at
srbvoz.rs
2nd Class Ticket
$2 - $3
1st Class Ticket
$3 - $5
Train from Dimitrovgrad to Niš
Ave. Duration
3 h 11 min
Frequency
5 times a day
Estimated price
$3 - $9
Schedules at
srbvoz.rs
2nd Class Ticket
$3 - $5
1st Class Ticket
$5 - $9
Macedonian Railways (MZ)
Phone
+389 (2) 3 164 255
Website
mzt.mk
Train from Niš to Belgrade
Ave. Duration
4 h 17 min
Frequency
Once daily
Estimated price
$16 - $55
mzt.mk
mzt.mk
Bus operators
Matpu
Phone
02 952 50 04
Email
matpu96@abv.bg
Website
matpu.com
Bus from Sofia to Niš
Ave. Duration
3 h
Frequency
Twice daily
Estimated price
$10 - $15
Schedules at
matpu.com
Nis Ekspres
Phone
+381 18 255 177
Email
marketing@nis-ekspres.rs
Website
nis-ekspres.rs
Bus from Sofia to Niš
Ave. Duration
4 h
Frequency
Twice daily
Estimated price
$7 - $13
Schedules at
nis-ekspres.rs
Book at
onlinetickets.nis-ekspres.rs
Bus from Niš to Belgrade
Ave. Duration
3 h 25 min
Frequency
5 times a day
Estimated price
$11
Schedules at
nis-ekspres.rs
Book at
onlinetickets.nis-ekspres.rs
BS Tours
Phone
011 761-4693
Email
bstours@verat.net
Website
bstours.rs
Bus from Niš to Belgrade
Ave. Duration
3 h 5 min
Frequency
Twice daily
Estimated price
$11 - $30
Schedules at
bstours.rs
Blenda Tours
Phone
+(381)(10)346969
Website
redvoznje.net
Bus from Dimitrovgrad to Autokomanda
Ave. Duration
4 h 57 min
Frequency
Once daily
Schedules at
pks.rs
Avtogari
Email
office@avtogari.info
Website
avtogari.info
Bus from Sofia to Vidin
Ave. Duration
4 h
Frequency
5 times a day
Estimated price
$9 - $13
Schedules at
avtogari.info
BG Razpisanie
Website
bgrazpisanie.com
Bus from Sofia to Vidin
Ave. Duration
2 h 52 min
Frequency
Once daily
Estimated price
$11 - $14
Schedules at
bgrazpisanie.com
Nikolic Prevoz D.O.O
Website
nikolicprevoz.rs
Bus from Vidin to Negotin
Ave. Duration
1 h 30 min
Frequency
Once a week
Estimated price
$3 - $4
Schedules at
nikolicprevoz.rs
Bus from Negotin to Belgrade
Ave. Duration
4 h 21 min
Frequency
Twice daily
Estimated price
$17 - $22
Schedules at
nikolicprevoz.rs

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Train travel in France: A guide to SNCF, Need to know: Eurostar and Want to know more about US trains? - to help you get the most out of your next trip.