There are 5 ways to get from Madrid to Barcelona by train, 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.
Travel safe during COVID-19
Rules to follow in Spain
1.5m
Mandatory
Travel within Spain
Observe COVID-19 safety rules
COVID-19 help in Spain
If you need help, visit the national COVID-19 website or call the COVID-19 Helpline 112
Frequently Asked Questions
There are currently travel restrictions within Spain.
Explore options for future travelDomestic 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
The national COVID-19 helpline number in Barcelona is 112.
Wearing a face mask on public transport in Barcelona is mandatory.
The social distance requirement in Barcelona is 1.5 metres.
Make yourself known to an official member of staff and/or call the national coronavirus helpline number on 112.
Last updated: 28 Jul 2022
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 Madrid to Barcelona is to rideshare which costs €30 and takes 7h 13m.
The fastest way to get from Madrid to Barcelona is to train. Taking this option will cost €55 - €120 and takes 2h 30m.
Yes, there is a direct bus departing from Madrid and arriving at Barcelona. Services depart every two hours, and operate every day. The journey takes approximately 8h 5m.
Yes, there is a direct train departing from Madrid-Puerta De Atocha and arriving at Barcelona-Sants. Services depart hourly, and operate every day. The journey takes approximately 2h 30m.
The distance between Madrid and Barcelona is 505 km. The road distance is 620.1 km.
The best way to get from Madrid to Barcelona without a car is to train which takes 2h 30m and costs €55 - €120.
The train from Madrid-Puerta De Atocha to Barcelona-Sants takes 2h 30m including transfers and departs hourly.
Madrid to Barcelona bus services, operated by ALSA, depart from Madrid station.
Madrid to Barcelona train services, operated by Renfe AVE, depart from Madrid-Puerta De Atocha station.
The best way to get from Madrid to Barcelona is to train which takes 2h 30m and costs €55 - €120. Alternatively, you can bus, which costs €29 - €65 and takes 8h 5m, you could also fly, which costs €35 - €140 and takes 3h 27m.

- Distance: 505.3 km
- Duration: 2h 30m
What companies run services between Madrid, Spain and Barcelona, Spain?
Renfe AVE operates a train from Madrid-Puerta De Atocha to Barcelona-Sants hourly. Tickets cost €60 - €120 and the journey takes 2h 30m. Renfe SNCF also services this route once daily. Alternatively, ALSA operates a bus from Madrid to Barcelona every 2 hours. Tickets cost €45 - €65 and the journey takes 8h 5m. FlixBus also services this route once daily.

- Website
- vueling.com
Flights from Madrid to Barcelona
- Ave. Duration
- 1h 19m
- When
- Every day
- Estimated price
- €35 - €170
Flights from Madrid to Barcelona via Ibiza
- Ave. Duration
- 3h 5m
- When
- Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday
- Estimated price
- €27 - €150

- Website
- iberia.com
Flights from Madrid to Barcelona
- Ave. Duration
- 1h 19m
- When
- Every day
- Estimated price
- €35 - €170
Flights from Madrid to Barcelona via Ibiza
- Ave. Duration
- 3h 5m
- When
- Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday
- Estimated price
- €27 - €150

- Website
- aireuropa.com
Flights from Madrid to Barcelona
- Ave. Duration
- 1h 21m
- When
- Every day
- Estimated price
- €35 - €200

- Website
- ryanair.com
Flights from Madrid to Barcelona via Palma Mallorca
- Ave. Duration
- 3h 5m
- When
- Tuesday, Friday, Saturday and Sunday
- Estimated price
- €30 - €220

Rome2rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- comunicacion@renfe.es
- Website
- renfe.com
Train from Madrid-Puerta De Atocha to Barcelona-Sants
- Ave. Duration
- 2h 30m
- Frequency
- Hourly
- Estimated price
- €60 - €120
- Website
- Renfe AVE
- Promo
- €60 - €80
- Promo+
- €68 - €73
- Flexible
- €90 - €120

- Phone
- +34 902 320 320
- comunicacion@renfe.es
- Website
- renfe-sncf.com
Train from Madrid-Puerta De Atocha to Barcelona-Sants
- Ave. Duration
- 2h 57m
- Frequency
- Once daily
- Estimated price
- €55 - €85
- Website
- renfe-sncf.com

A Spanish subsidiary of National Express, ALSA provides bus and coach services across Spain and neighbouring countries including Portugal, France, Germany, the Netherlands, Italy, Poland and Malta. Founded in 1923, ALSA values service and the customer experience. Buses are equipped with communal TV screens showing movies, individual behind-seat screens, ALSA radio, app for books and music, and free WiFi. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. There are three types of tickets on offer (Frequent Traveller Pass, Share Pass and ALSA Pass), along with discounts for senior citizens, students and children.
Contact Details
- Phone
- +34 902 42 22 42
- alsa@alsa.es
- Website
- alsa.es
Bus from Madrid to Barcelona
- Ave. Duration
- 8h 5m
- Frequency
- Every 2 hours
- Estimated price
- €45 - €65
- Website
- alsa.com

One of Europe’s leading bus companies, Flixbus serves 2000+ destinations in 29 countries, including Germany, France, Italy, Austria, the Netherlands and Croatia and into Scandinavia and eastern Europe, as well as some US cities. Coaches have toilets, free WiFi and power outlets, plus snacks and drinks for purchase on board. Flixbus is a good choice for the budget-conscious traveller; purchase tickets in advance for the cheapest fares (note: there is no option to reserve a seat in advance).
Rome2rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.de
Bus from Madrid to Barcelona
- Ave. Duration
- 7h 15m
- Frequency
- Once daily
- Estimated price
- €29 - €40
- Website
- flixbus.co.uk
Frequently asked questions

Rome2rio's guide to BlaBlaCar.es
Contact Details
- Website
- blablacar.com
Rideshare from Madrid to Barcelone
- Ave. Duration
- 7h 13m
- Frequency
- Hourly
- Estimated price
- €30
- Book at
- blablacar.es
Want to know more about travelling around Spain
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.
Related travel guides
Train travel in Spain: A guide to Renfe
Top tips on how to best navigate the nation by train, from Alicante to Zaragoza
Read the travel guideWhat are the different types of Renfe trains in Spain?
A simple guide to the different trains, routes and facilities, so you can identify which service is right for you.
Read the travel guideWant to know more about Flixbus?
Rome2rio’s guide has all the details
Read the travel guideIs ride-sharing platform BlaBlaCar right for you?
Don't have a car, or can't get there on public transportation? This carpooling platform could be your answer.
Read the travel guideMore Questions & Answers
The quickest flight from Madrid Airport to Barcelona Airport is the direct flight which takes 1h 15m.
Madrid to Barcelona bus services, operated by ALSA, arrive at Barcelona station.
Madrid to Barcelona train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Barcelona is 620 km. It takes approximately 5h 58m to drive from Madrid to Barcelona.
Ryanair, Air Europa, Vueling Airlines and Iberia offer flights from Madrid Airport to Barcelona Airport.
Book your Madrid to Barcelona train tickets online with Omio.
Book your Madrid to Barcelona bus tickets online with Omio and Busbud.
There are 3012+ hotels available in Barcelona. Prices start at €100 per night.