There are 5 ways to get from Barcelona (Station) to Madrid (Station) by train (Renfe, Ouigo), bus, 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.
Train
best- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
4h 11m€58–163Bus
cheapest- Take the bus from Barcelona, Estació d'Autobusos Nord to Madrid, Avenida de Américabus ALSA - Ba-Z-Ma
9h 46m€53–78Drive 601.2 km
- Drive from Barcelona (Station) to Madrid (Station)car 601.2 km
5h 53m€95–136Fly
- Fly from Barcelona–El Prat Airport (BCN) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane BCN - MAD
3h 36m€58–151Bus via Teruel
- Take the bus from Barcelona - Diagonal Palau Reial to Teruelbus
- Take the bus from Teruel to Alcalá de Henaresbus 047
12h 53m€63–118
Barcelona (Station) to Madrid (Station) by bus and foot
Questions & Answers
The cheapest way to get from Barcelona (Station) to Madrid (Station) is to bus which costs €50 - €80 and takes 9h 46m.
The fastest way to get from Barcelona (Station) to Madrid (Station) is to fly which takes 3h 36m and costs €55 - €160.
No, there is no direct bus from Barcelona (Station) to Madrid (Station). However, there are services departing from Riera Blanca - Les Corts and arriving at Madrid, Avenida de América via Barcelona, Estació d'Autobusos Nord. The journey, including transfers, takes approximately 9h 46m.
No, there is no direct train from Barcelona (Station) to Madrid (Station). However, there are services departing from Barcelona-Sants and arriving at Madrid-Puerta de Atocha-Almudena Grandes via . The journey, including transfers, takes approximately 4h 11m.
The distance between Barcelona (Station) and Madrid (Station) is 615 km. The road distance is 601.2 km.
The best way to get from Barcelona (Station) to Madrid (Station) without a car is to train which takes 4h 11m and costs €55 - €170.
It takes approximately 4h 11m to get from Barcelona (Station) to Madrid (Station), including transfers.
Barcelona (Station) to Madrid (Station) bus services, operated by ALSA, depart from Barcelona, Estació d'Autobusos Nord station.
Barcelona (Station) to Madrid (Station) train services, operated by Renfe AVE, depart from Barcelona-Sants station.
The best way to get from Barcelona (Station) to Madrid (Station) is to train which takes 4h 11m and costs €55 - €170. Alternatively, you can bus, which costs €50 - €80 and takes 9h 46m, you could also fly, which costs €55 - €160 and takes 3h 36m.
What companies run services between Barcelona (Station), Catalonia, Spain and Madrid (Station), Madrid, Spain?
Renfe AVE operates a train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes every 30 minutes. Tickets cost €90–160 and the journey takes 3h 2m. Three other operators also service this route. Alternatively, ALSA operates a bus from Barcelona, Estació d'Autobusos Nord to Madrid, Avenida de América every 3 hours. Tickets cost €50–75 and the journey takes 7h 50m.
- 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
- €45–130
- Website
- aireuropa.com
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €50–140
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
- €50–140
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Adolfo Suárez Madrid–Barajas Airport via Palma Mallorca
- Ave. Duration
- 3h 25m
- When
- Sunday
- Estimated price
- €30–140
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €90–160
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–120
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 28m
- Frequency
- Every 2 hours
- Estimated price
- €55–95
- Website
- Ouigo
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- Renfe Viajeros
- Phone
- +34 910 207 007
- Website
- ALSA
Bus from Barcelona, Estació d'Autobusos Nord to Madrid, Avenida de América
- Ave. Duration
- 7h 50m
- Frequency
- Every 3 hours
- Estimated price
- €50–75
- Website
- ALSA
- Phone
- +34 977 44 03 00
- [email protected]
- Website
- HIFE
Bus from Barcelona - Diagonal Palau Reial to Teruel
- Ave. Duration
- 7h 18m
- Frequency
- 6 times a week
- Estimated price
- €30–70
- Website
- HIFE
- Phone
- +34 984 689 912
- [email protected]
- Website
- samar.es
Bus from Teruel to Alcalá de Henares
- Ave. Duration
- 4h
- Frequency
- Once daily
- Estimated price
- €29–45
- Schedules at
- samar.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
More Questions & Answers
Barcelona (Station) to Madrid (Station) bus services, operated by ALSA, arrive at Madrid, Avenida de América station.
Barcelona (Station) to Madrid (Station) train services, operated by Renfe AVE, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Yes, the driving distance between Barcelona (Station) to Madrid (Station) is 601 km. It takes approximately 5h 53m to drive from Barcelona (Station) to Madrid (Station).
There are 7005+ hotels available in Madrid (Station).



























