Travel Information
Compare coach and flight for Madrid to Belgrade
Omio recommends booking the flight as it is the most popular option from Madrid to Belgrade among Omio's users. If you are prioritising price take the flight with prices starting from £29. For those with little time consider booking a flight which can get you there in 4h 6m. The ticket price range depends on the travel mode: a flight costs an average of £29, and a coach costs an average of £106.
Distance: 2029 km
Compare flight with
Most popular Flight | Coach |
|---|---|
£160 Average Price Cheapest | £163 Average Price |
7h 6m Average total duration Fastest 4h 6m Onboard + 3h 0m Additional time* | 40h 4m Average total duration 39h 34m Onboard + 30m Additional time* |
![]() Most popular airline | ![]() Most popular bus company |
Direct Options | Direct Options |
Compare prices and tickets Madrid to Belgrade by coach or flight
Compare coach and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
06 Mar
07 Mar
08 Mar
09 Mar
10 Mar
11 Mar
12 Mar
13 Mar
14 Mar
15 Mar
16 Mar
17 Mar
18 Mar
19 Mar
20 Mar
21 Mar
22 Mar
23 Mar
24 Mar
25 Mar
26 Mar
Journey information
Overview: Train from Madrid to Belgrade
Take a train from Madrid to Belgrade and enjoy the approximately 2029 km long journey. Find schedules and pricing options for a convenient and affordable trip.
Distance 2029 km |
FAQs: Madrid to Belgrade train
Find answers to the most common questions about traveling from Madrid to Belgrade by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Belgrade, this guide helps you travel smarter and with confidence.

More options for your journey from Madrid to Belgrade
Here are some other resources that might have the information you need


