Travel from Serbia to Bulgaria is: Partially open. See details.

Need a hotel room in Sofia?

Book now

There are 6 ways to get from Belgrade to Sofia by bus, 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 via Niš  •  7h 20m

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

$18 - $44

Cheapest option

Rideshare  •  5h 17m

  1. Take the rideshare from Beograd to Sofia 389.7 km

$12 - $22

4 alternative options

Bus  •  7h 30m

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

$45 - $70

Bus #2  •  8h 3m

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

Drive  •  3h 59m

  1. Drive from Belgrade to Sofia 389.9 km

$40 - $65

Fly  •  3h 49m

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

$110 - $262

Belgrade to Sofia by bus

The bus journey time between Belgrade and Sofia is around 8h 32m and covers a distance of around 402 km. The fastest bus normally takes 8h. Operated by Nis Ekspres, Lasta, Kanis and others, the Belgrade to Sofia bus service departs from Beograd and arrives in Sofia. Typically 12 buses run weekly, although weekend and holiday schedules can vary so check in advance.

Bus route overview

Average bus time:
8h 32m
Fastest bus time:
8h
Buses per week:
12
Cheapest price:
$18
Carbon emissions:
50 kg CO2

First and last buses

First bus departs at:
00:30
Last bus departs at:
10:55

The schedules shown below are for the next available departures.

Belgrade to Sofia bus schedules

Serbia → Bulgaria
Partially open

Travel safe during COVID-19

International entry into Bulgaria from Serbia

  • Entry is partially open for citizens and permanent residents of Serbia
Show more details
Allowed for: Citizens and permanent residents of Bulgaria, as well as residents from EU Schengen Area (EU countries, Iceland, Liechtenstein, Norway, and Switzerland), Albania, Algeria, Andorra, Australia, Belarus, Benin, Bosnia and Herzegovina, Burkina Faso, Canada, Central African Republic, Chad, China, Egypt, Eritrea, Ethiopia, Gabon, The Gambia, Georgia, Guinea, Guinea-Bissau, Israel, Ivory Coast, Japan, Kosovo, Kuwait, Liberia, Madagascar, Mali, Moldova, Monaco, Montenegro, Morocco, New Zealand, Niger, Nigeria, North Macedonia, Republic of the Congo, Russia, Rwanda, San Marino, Senegal, Serbia, Sierra Leone, Somalia, South Korea, South Sudan, Sudan, Thailand, Togo, Tunisia, Turkey, Ukraine, United Arab Emirates, United Kingdom, United States, Uruguay and Vatican

Restricted for: Foreign nationals from outside EU Schengen Area with the above exceptions. Angola, Bangladesh, Bhutan, Botswana, Brazil, Burundi, Cameroon, Democratic Republic of the Congo, Djibouti, Equatorial Guinea, Eswatini, Ghana, India, Kenya, Lesotho, Libya, Malawi, Maldives, Mauritania, Mozambique, Myanmar, Namibia, Nepal, Pakistan, South Africa, South Sudan, Sri Lanka, Tanzania, Uganda, Zambia and Zimbabwe are also restricted

Show less

Conditions of entry into Bulgaria from Serbia

  • Negative COVID-19 test issued at most 3 days before arrival
This applies to arrivals from all countries, with no exceptions
  • Travellers with a certificate of vaccination are exempted from providing a negative COVID-19 test
This applies to arrivals from Serbia
Show more details
  • Negative COVID-19 test issued at most 3 days before arrival
This applies to arrivals from all countries, with no exceptions
  • 10 day mandatory self quarantine
This applies to arrivals from Angola, Bangladesh, Bhutan, Botswana, Brazil, Burundi, Cameroon, Democratic Republic of the Congo, Djibouti, Equatorial Guinea, Eswatini, Ghana, India, Kenya, Lesotho, Libya, Malawi, Maldives, Mauritania, Mozambique, Myanmar, Namibia, Nepal, Pakistan, South Africa, South Sudan, Sri Lanka, Tanzania, Uganda, Zambia and Zimbabwe
  • Travellers with a certificate of vaccination are exempted from providing a negative COVID-19 test
This doesn’t apply to citizens and permanent residents of Angola, Bangladesh, Bhutan, Botswana, Brazil, Burundi, Cameroon, Democratic Republic of the Congo, Djibouti, Equatorial Guinea, Eswatini, Ghana, India, Kenya, Lesotho, Libya, Malawi, Maldives, Mauritania, Mozambique, Myanmar, Namibia, Nepal, Pakistan, South Africa, South Sudan, Sri Lanka, Tanzania, Uganda, Zambia and Zimbabwe

Show less

Rules to follow in Bulgaria

1.5m

Mandatory

Considerations leaving from Serbia

The official advice is to avoid non-essential international travel to high risk countries

Frequently Asked Questions


Yes, but conditions apply when entering Bulgaria from Serbia.

Explore options for future travel

Domestic travel is not restricted, but some conditions may apply

  • Face masks are mandatory
  • There is a social distancing requirement of 1.5 metres
  • Observe COVID-19 safety rules

Explore travel options

The national COVID-19 helpline number in Sofia is 02 807 87 57.

Wearing a face mask on public transport in Sofia is mandatory.

The social distance requirement in Sofia is 1.5 metres.

Make yourself known to an official member of staff and/or call the national coronavirus helpline number on 02 807 87 57.

No, returning to Serbia from Bulgaria is currently allowed.

See options for return travel.

Last updated: 20 Jun 2021
Exceptions may apply, for full details: European Union.

We're working around the clock to bring you the latest COVID-19 travel updates.
This information is compiled from official sources. To the best of our knowledge, it is correct as of the last update.
Visit Rome2rio travel advice for general help.

Questions & Answers

The cheapest way to get from Belgrade to Sofia is to rideshare which costs RSD 1200 - RSD 2100 and takes 5h 17m.

More details

The quickest way to get from Belgrade to Sofia is to fly which costs RSD 10000 - RSD 26000 and takes 3h 49m.

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

It is 328 km from Belgrade to Sofia. It is approximately 389.9 km to drive.

Get driving directions

The best way to get from Belgrade to Sofia without a car is to bus via Niš which takes 7h 20m and costs RSD 1700 - RSD 4300.

More details

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

More details

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

More details

The best way to get from Belgrade to Sofia is to bus via Niš which takes 7h 20m and costs RSD 1700 - RSD 4300. Alternatively, you can fly, which costs RSD 10000 - RSD 26000 and takes 3h 49m.

Mode details

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

Map of how to get from Belgrade to Sofia.
Launch map view
  • Distance: 328 km
  • Duration: 7h 20m

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

You can take a bus from Belgrade to Sofia via Niš in around 7h 20m. Alternatively, Air Serbia flies from Belgrade to Sofia 3 times a week.

Airlines
Air Serbia
Website
airserbia.com
Flights from Belgrade to Sofia
Ave. Duration
1h 10m
When
Monday and Friday
Estimated price
$100 - $450
Bus operators
Nis Ekspres
Phone
+381 18 255 177
Email
marketing@nis-ekspres.rs
Website
nis-ekspres.rs
Bus from Beograd to Niš
Ave. Duration
3h 10m
Frequency
Every 3 hours
Estimated price
$11
Schedules at
nis-ekspres.rs
Bus from Niš to Sofia
Ave. Duration
4h
Frequency
Twice daily
Estimated price
$7 - $13
Schedules at
nis-ekspres.rs
Bus from Dimitrovgrad to Sofia
Ave. Duration
2h 5m
Frequency
Twice daily
Estimated price
$3
Schedules at
nis-ekspres.rs
Kanis
Phone
381 18 517 272
Email
office@kanis.rs
Website
kanis.rs
Bus from Beograd to Niš
Ave. Duration
2h 50m
Frequency
3 times a day
Schedules at
kanis.rs
Simplon Leskovac
Phone
+38162 8777 888
Email
simplonleskovac@gmail.com
Website
facebook.com
Bus from Beograd to Niš
Ave. Duration
4h 50m
Frequency
5 times a day
Schedules at
facebook.com
BS Tours
Phone
011 761-4693
Email
bstours@verat.net
Website
bstours.rs
Bus from Belgrade to Niš
Ave. Duration
3h
Frequency
Twice daily
Estimated price
$13 - $35
Schedules at
bstours.rs
Auto Kodeks
Phone
+(381)(11)7420444
Email
auto.kodeks.pirot@gmail.com
Website
auto-kodeks.rs
Bus from Beograd to Niš
Ave. Duration
3h 55m
Frequency
Once daily
Estimated price
$13 - $16
Schedules at
auto-kodeks.rs
Matpu
Phone
02 952 50 04
Email
matpu96@abv.bg
Website
matpu.com
Bus from Niš to Sofia
Ave. Duration
3h 10m
Frequency
Twice daily
Estimated price
$10 - $16
Schedules at
matpu.com
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 - $70
Website
Karat-S
Blenda Tours
Phone
+(381)(10)346969
Website
redvoznje.net
Bus from Autokomanda to Dimitrovgrad
Ave. Duration
4h 58m
Frequency
Every 4 hours
Schedules at
redvoznje.net
Other operators
BlaBlaCar

Blablacar is a popular ridesharing platform with 70 million users over 22 (mostly European) countries. 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 to 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
$12 - $22
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

Sofia is 1h ahead of Belgrade. It is currently 3:12 AM in Belgrade and 4:12 AM in Sofia.

Yes, the driving distance between Belgrade to Sofia is 390 km. It takes approximately 3h 59m to drive from Belgrade to Sofia.

Get driving directions

Air Serbia offers flights from Belgrade Airport to Sofia Airport.

Search flights

Book your Belgrade to Sofia bus tickets online with Omio and Distribusion.

Search and book

There are 177+ hotels available in Sofia. Prices start at $100 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 30 min and costs RSD 300.

More details