There are 6 ways to get from Barcelona to Madrid by train (Renfe, Ouigo), bus, rideshare, plane, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena GrandesAve
2h 37m€30–140Rideshare
cheapest- Take the rideshare from Barcelone to Madrid612.8 km
7h 17m€27–29Bus
- Take the bus from Barcelona - North Bus Station to Madrid - Barajas Airport T4BlaBlaCar Bus
7h 51m€44–63Fly
- Fly from Barcelona–El Prat Airport (BCN) to Adolfo Suárez Madrid–Barajas Airport (MAD)BCN - MAD
3h 21m€47–180Bus via Madrid Chamartín
- Take the bus from Barcelona, Estació d'Autobusos Nord to Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid)Alsa
8h 4m€42–70Drive 610 km
- Drive from Barcelona to Madrid610 km
6h 10m€95–137
Barcelona to Madrid by train
Questions & Answers
The cheapest way to get from Barcelona to Madrid is to rideshare which costs €27 - €29 and takes 7h 17m.
The fastest way to get from Barcelona to Madrid is to train which takes 2h 37m and costs €30 - €140.
No, there is no direct bus from Barcelona station to Madrid. However, there are services departing from Barcelona - North Bus Station and arriving at Cibeles via Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid). The journey, including transfers, takes approximately 7h 51m.
Yes, there is a direct train departing from Barcelona-Sants and arriving at Madrid-Puerta de Atocha-Almudena Grandes. Services depart hourly, and operate every day. The journey takes approximately 2h 37m.
The distance between Barcelona and Madrid is 606 km. The road distance is 610 km.
The best way to get from Barcelona to Madrid without a car is to train which takes 2h 37m and costs €30 - €140.
The train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes takes 2h 37m including transfers and departs hourly.
Barcelona to Madrid bus services, operated by BlaBlaCar Bus, depart from Barcelona - North Bus Station.
Barcelona to Madrid train services, operated by Renfe AVE, depart from Barcelona-Sants station.
The best way to get from Barcelona to Madrid is to train which takes 2h 37m and costs €30 - €140. Alternatively, you can bus, which costs €40 - €65 and takes 7h 51m, you could also fly, which costs €45 - €180 and takes 3h 21m.
What companies run services between Barcelona, Spain and Madrid, Spain?
Renfe AVE operates a train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes hourly. Tickets cost €45–140 and the journey takes 2h 37m. Three other operators also service this route. Alternatively, BlaBlaCar Bus operates a bus from Barcelona - North Bus Station to Madrid - Barajas Airport T4 6 times a week. Tickets cost €40–60 and the journey takes 6h 55m.
- Website
- iberia.com
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €30–150
- Website
- aireuropa.com
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €40–160
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport via Palma Mallorca
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €40–160
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport via Ibiza
- Ave. Duration
- 3h 25m
- When
- Monday
- Estimated price
- €40–230
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €45–140
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- [email protected]
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 2h 59m
- Frequency
- Every 2 hours
- Estimated price
- €40–140
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 3m
- Frequency
- 5 times a day
- Estimated price
- €30–90
- Website
- https://www.ouigo.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Barcelona - North Bus Station to Madrid - Barajas Airport T4
- Ave. Duration
- 6h 55m
- Frequency
- 6 times a week
- Estimated price
- €40–60
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +34 910 207 007
- [email protected]
- Website
- alsa.com
Bus from Barcelona, Estació d'Autobusos Nord to Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid)
- Ave. Duration
- 7h 35m
- Frequency
- Every 4 hours
- Estimated price
- €35–70
- Website
- https://www.alsa.com/en/
Rome2Rio's guide to BlaBlaCar.es
Contact Details
- Website
- blablacar.com
Rideshare from Barcelone to Madrid
- Ave. Duration
- 7h 17m
- Frequency
- Every 30 minutes
- Estimated price
- €27–29
- 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
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
Is ride-sharing platform BlaBlaCar right for you?
Read the travel guide
More Questions & Answers
Barcelona to Madrid bus services, operated by BlaBlaCar Bus, arrive at Madrid - Barajas Airport T4 station.
Barcelona to Madrid train services, operated by Renfe AVE, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Yes, the driving distance between Barcelona to Madrid is 610 km. It takes approximately 6h 10m to drive from Barcelona to Madrid.
Book your Barcelona to Madrid train tickets online with Omio.
There are 6754+ hotels available in Madrid.
Check out Blablacar's carpooling service for rideshare options between Barcelona and Madrid. A great option if you don't have a driver's licence or want to avoid public transport.