• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 6 ways to get from Belgrade to Sofia by bus, train, rideshare, 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 Karat-S  •  7h 30m

  1. Take the bus from Belgrad Central Bus Station to Sofia Serdica Bus Station Belgrade - Varna

$45 - $65

Cheapest option

Bus Blenda Tours  •  8h 5m

  1. Take the bus from Belgrade to Dimitrovgrad
  2. Take the bus from Dimitrovgrad to Sofia

$3

4 alternative options

Train  •  13h 16m

  1. Take the train from Beograd centar to Niš
  2. Take the train from Niš to Dimitrovgrad
  3. Take the train from Dimitrovgrad to Sofia

$12 - $33

Rideshare  •  5h 17m

  1. Take the rideshare from Beograd to Sofia 244.8 miles

$11 - $20

Drive  •  4h 21m

  1. Drive from Belgrade to Sofia 244.9 miles

$40 - $65

Fly  •  4h 29m

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

$84 - $186

Questions & Answers

The cheapest way to get from Belgrade to Sofia is to bus which costs RSD 285 and takes 8h 5m.

More details

The quickest way to get from Belgrade to Sofia is to drive which costs RSD 4500 - RSD 7000 and takes 4h 21m.

More details

Yes, there is a direct bus departing from Belgrad Central Bus Station station and arriving at Sofia Serdica Bus Station station. Services depart three times a week, and operate Friday, Saturday and Sunday. The journey takes approximately 7h 30m.

More details

No, there is no direct train from Belgrade to Sofia. However, there are services departing from Beograd centar and arriving at Sofia via Niš and Dimitrovgrad. The journey, including transfers, takes approximately 13h 16m.

More details

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

Get driving directions

The best way to get from Belgrade to Sofia without a car is to bus which takes 7h 30m and costs RSD 4700 - RSD 6500.

More details

The bus from Belgrad Central Bus Station to Sofia Serdica Bus Station takes 7h 30m including transfers and departs three times a week.

More details

Belgrade to Sofia bus services, operated by Karat-S, arrive at Belgrad Central Bus Station.

More details

Belgrade to Sofia train services, operated by Serbian Railways, depart from Beograd centar station.

More details

The best way to get from Belgrade to Sofia is to bus which takes 7h 30m and costs RSD 4700 - RSD 6500. Alternatively, you can train, which costs RSD 1100 - RSD 3400 and takes 13h 16m, you could also fly, which costs RSD 8500 - RSD 20000 and takes 4h 29m.

Mode details

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

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

Karat-S operates a bus from Belgrade to Sofia 3 times a week. Tickets cost $45 - $65 and the journey takes 7h 30m. Alternatively, you can take a train from Belgrade to Sofia via Niš and Dimitrovgrad in around 13h 16m.

Airlines
Air Serbia
Website
airserbia.com
Flights from Belgrade to Sofia
Ave. Duration
1h 10m
When
Every day
Estimated price
$130 - $280
Train operators
Serbian Railways
Website
srbvoz.rs
Train from Beograd centar to Niš
Ave. Duration
5h 39m
Frequency
5 times a day
Estimated price
$7 - $20
Schedules at
srbvoz.rs
2nd Class Ticket
$7 - $11
1st Class Ticket
$12 - $20
Train from Niš to Dimitrovgrad
Ave. Duration
3h 12m
Frequency
3 times a day
Estimated price
$3 - $9
Schedules at
srbvoz.rs
2nd Class Ticket
$3 - $5
1st Class Ticket
$5 - $9
Train from Dimitrovgrad to Sofia
Ave. Duration
2h 25m
Frequency
Once daily
Estimated price
$1 - $5
Schedules at
srbvoz.rs
2nd Class Ticket
$1 - $3
1st Class Ticket
$3 - $5
Macedonian Railways (MZ)
Phone
+389 (2) 3 164 255
Website
mzt.mk
Train from Belgrade to Niš
Ave. Duration
4h 42m
Frequency
Once daily
Estimated price
$16 - $55
mzt.mk
mzt.mk
Bus operators
Karat-S
Phone
+359 2 8120810
Email
operations@eurolines.bg
Website
karat-s.com
Bus from Belgrad Central Bus Station to Sofia Serdica Bus Station
Ave. Duration
7h 30m
Frequency
3 times a week
Estimated price
$45 - $65
Website
Karat-S
Blenda Tours
Phone
+(381)(10)346969
Website
redvoznje.net
Bus from Belgrade to Dimitrovgrad
Ave. Duration
5h
Frequency
Every 4 hours
Schedules at
pks.rs
Nis Ekspres
Phone
+381 18 255 177
Email
marketing@nis-ekspres.rs
Website
nis-ekspres.rs
Bus from Dimitrovgrad to Sofia
Ave. Duration
2h 5m
Frequency
Twice daily
Estimated price
$3
Schedules at
nis-ekspres.rs
Book at
onlinetickets.nis-ekspres.rs
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility you’ll get to your destination – often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Beograd to Sofia
Ave. Duration
5h 17m
Frequency
Once daily
Estimated price
$11 - $20
Book at
blablacar.co.uk

Want to know more about travelling around Bulgaria

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

More Questions & Answers

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

Search flights

Belgrade to Sofia bus services, operated by Karat-S, arrive at Sofia Serdica Bus Station.

More details

Sofia is 1h ahead of Belgrade. It is currently 8:35 PM in Belgrade and 9:35 PM in Sofia.

Belgrade to Sofia train services, operated by Serbian Railways, arrive at Sofia station.

More details

Yes, the driving distance between Belgrade to Sofia is 392 km. It takes approximately 4h 21m to drive from Belgrade to Sofia.

Get driving directions

Air Serbia offers flights from Belgrade Airport to Sofia Airport.

Search flights

There are 1261+ hotels available in Sofia. Prices start at $32 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Belgrade and Sofia. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

The best way to get from Belgrade to Belgrade Airport is to Mini Bus which takes 30m and costs RSD 300 - RSD 490.

More details