There are 4 ways to get from Madrid to Barcelona - Girona by train (Renfe, Ouigo), bus, car, plane, or train
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 Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
4h 20m€60–171Fly, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Barcelona–El Prat Airport (BCN)plane MAD - BCN
- Take the train from Gornal to Can Rostrain
3h 34m€54–150Bus
- Take the bus from Madrid, Avenida de América to Barcelona, Estación de Autobuses de Santsbus ALSA - Ma-Z-Ba
8h 36m€59–80Drive 591.8 km
- Drive from Madrid to Barcelona - Gironacar 591.8 km
5h 56m€94–135
Madrid to Barcelona - Girona by bus and foot
Questions & Answers
The cheapest way to get from Madrid to Barcelona - Girona is to bus which costs €55 - €80 and takes 8h 36m.
The fastest way to get from Madrid to Barcelona - Girona is to fly and train which takes 3h 34m and costs €50 - €150.
No, there is no direct bus from Madrid to Barcelona - Girona. However, there are services departing from Madrid, Avenida de América and arriving at Quatre Camins Carretera via Pl Joan Peiró and Av. Diagonal - Dr. Ferran. The journey, including transfers, takes approximately 8h 36m.
No, there is no direct train from Madrid to Barcelona - Girona. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Molins de Rei via Barcelona Sants. The journey, including transfers, takes approximately 4h 20m.
The distance between Madrid and Barcelona - Girona is 641 km. The road distance is 591.8 km.
The best way to get from Madrid to Barcelona - Girona without a car is to train which takes 4h 20m and costs €55 - €180.
It takes approximately 4h 20m to get from Madrid to Barcelona - Girona, including transfers.
Madrid to Barcelona - Girona bus services, operated by ALSA, depart from Madrid, Avenida de América station.
Madrid to Barcelona - Girona train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Barcelona - Girona is to train which takes 4h 20m and costs €55 - €180. Alternatively, you can bus, which costs €55 - €80 and takes 8h 36m.
What companies run services between Madrid, Spain and Barcelona - Girona, Spain?
Renfe AVE operates a train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants every 30 minutes. Tickets cost €95–170 and the journey takes 3h 22m. Three other operators also service this route. Alternatively, ALSA operates a bus from Madrid, Avenida de América to Barcelona, Estación de Autobuses de Sants every 3 hours. Tickets cost €50–75 and the journey takes 7h 50m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 19m
- When
- Every day
- Estimated price
- €45–130
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €50–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Barcelona–El Prat Airport via Palma Mallorca
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €50–140
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- [email protected]
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–130
- Website
- https://iryo.eu/en/home
- Phone
- +34 900 759 781
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- https://www.ouigo.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 90 1515
- [email protected]
- Website
- fgc.cat
Train from Gornal to Can Ros
- Ave. Duration
- 21 min
- Frequency
- Every 15 minutes
- Estimated price
- €2–4
- Website
- https://www.fgc.cat/en/
- Schedules at
- https://www.fgc.cat/en/lines-and-schedule/
- Phone
- +34 910 207 007
- Website
- alsa.com
Bus from Madrid, Avenida de América to Barcelona, Estación de Autobuses de Sants
- Ave. Duration
- 7h 50m
- Frequency
- Every 3 hours
- Estimated price
- €50–75
- Website
- https://www.alsa.com/en/
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
Madrid to Barcelona - Girona bus services, operated by ALSA, arrive at Barcelona, Estación de Autobuses de Sants station.
Madrid to Barcelona - Girona train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Barcelona - Girona is 592 km. It takes approximately 5h 56m to drive from Madrid to Barcelona - Girona.
There are 5158+ hotels available in Barcelona - Girona.





















