← Back
EN

Belgrade to Sofia Train & Bus Tickets

From Belgrade (Serbia) to Sofia (Bulgaria) · about 388 km

~€9
Indicative price from (bus)
~5–6h
Typical bus journey (indicative)
388
Km

See prices for Belgrade → Sofia

Compare all available departures and find the cheapest ticket.

Search Prices →

Typical figures (indicative)

Buses on this route have typically taken about 5–6 hours, with fares from about €9. We have no recent train or bus fares for Belgrade to Sofia to show, so treat these as a rough guide and search a date for current prices.

Belgrade to Sofia: what to expect

Belgrade and Sofia are about 388 kilometres apart. TransitScanner compares the train and bus options sold on this route across many sellers, so fares, journey times and companies can be seen side by side.

This is an international route from Serbia to Bulgaria. Carry valid travel documents (passport or EU ID card where applicable) for border checks. At 388 km this is a medium-distance journey.

Fares are asked of the sellers on every search; the price at their checkout is the one that counts.

How to find cheap Belgrade–Sofia tickets

About Sofia

FAQ: Belgrade to Sofia

How long does the journey from Belgrade to Sofia take?
Roughly 5–6 hours by bus (indicative), over about 388 km. Train times depend on the operator and the day, so search a date for exact times.

What is the cheapest ticket from Belgrade to Sofia?
Fares vary by date and operator. Buses on this route have typically started from around €9 (indicative). Search your date to compare current train and bus prices.

More routes from Belgrade

Belgrade → Zagreb
from ~€9 · ~5–6h
Belgrade → Budapest
from ~€9 · ~5–6h
Istanbul → Sofia
from ~€9 · ~7–8h
Belgrade → Istanbul
from ~€19 · ~13–14h
Thessaloniki → Sofia
from ~€9 · ~4–5h
Bucharest → Sofia
from ~€9 · ~5–6h
Belgrade → Skopje
from ~€9 · ~6–7h
All routes from Belgrade →