There are 6 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 Blenda Tours  •  7 h 16 min

  1. Take the bus from Sofia to Pirot
  2. Take the bus from Pirot to Autokomanda

Cheapest option

Bus, train via Železnička stanica - Glavna pošta  •  8 h 13 min

  1. Take the bus from Sofia to Niš
  2. Take the train from Niš to Beograd centar 790 / ...

$17 - $34

4 alternative options

Bus Nis Ekspres  •  7 h 25 min

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

$20 - $44

Bus, train  •  9 h 15 min

  1. Take the bus from Sofia to Niš
  2. Take the train from Crveni Krst to Beograd centar 2902 / ...

$17 - $34

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 25 min.

More details

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

More details

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

More details

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

Get driving directions

The best way to get from Sofia to Belgrade without a car is to bus which takes 7 h 16 min and costs .

More details

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

More details

Sofia to Belgrade bus services, operated by Matpu, depart from Sofia station.

More details

The best way to get from Sofia to Belgrade is to bus which takes 7 h 16 min and costs . Alternatively, you can fly, which costs $80 - $190 and takes 4 h 30 min.

Mode details

The quickest flight from Sofia Airport to Belgrade Airport is the direct flight which takes 1 h 10 min.

Search flights

Sofia to Belgrade bus services, operated by Blenda Tours, arrive at Autokomanda station.

More details

Map of how to get from Sofia to Belgrade.
Launch map view
  • Distance: 205 miles
  • Duration: 7 h 16 min

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

You can take a bus from Sofia to Belgrade via Pirot in around 7 h 16 min. Alternatively, Air Serbia flies from Sofia to Belgrade once daily.

Airlines
Air Serbia
Website
airserbia.com
Flights from Sofia to Belgrade
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$130 - $280
Train operators
Serbian Railways
Website
srbvoz.rs
Train from Niš to Beograd centar
Ave. Duration
3 h 57 min
Frequency
4 times a day
Estimated price
$7 - $20
Schedules at
srbvoz.rs
2nd Class Ticket
$7 - $11
1st Class Ticket
$12 - $20
Train from Crveni Krst to Beograd centar
Ave. Duration
5 h 8 min
Frequency
Twice daily
Estimated price
$7 - $20
Schedules at
srbvoz.rs
2nd Class Ticket
$7 - $12
1st Class Ticket
$12 - $20
Bus operators
Matpu
Phone
02 952 50 04
Email
matpu96@abv.bg
Website
matpu.com
Bus from Sofia to Pirot
Ave. Duration
1 h 42 min
Frequency
Twice daily
Estimated price
$7 - $11
Schedules at
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 Pirot
Ave. Duration
2 h 40 min
Frequency
Twice daily
Estimated price
$4
Schedules at
nis-ekspres.rs
Book at
onlinetickets.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
Blenda Tours
Phone
+(381)(10)346969
Website
redvoznje.net
Bus from Pirot to Autokomanda
Ave. Duration
4 h 34 min
Frequency
4 times a day
Schedules at
pks.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

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 Italy Travel Guides, Best ways to travel around Australia and Getting to Rome from the airport - to help you get the most out of your next trip.

More Questions & Answers

Belgrade is 1 h behind Sofia. It is currently 4:10 PM in Sofia and 3:10 PM in Belgrade.

Yes, the driving distance between Sofia to Belgrade is 391 km. It takes approximately 4 h 31 min to drive from Sofia to Belgrade.

Get driving directions

Air Serbia offers flights from Sofia Airport to Belgrade Airport.

Search flights

There are 2503+ hotels available in Belgrade. Prices start at $31 USD per night.

More details

The best way to get from Sofia to Sofia Airport is to line 84 shuttle which takes 34 min and costs $1.

More details