• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 6 ways to get from Barcelona to Madrid 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.

Recommended option

Train  •  2 h 45 min

  1. Take the train from Barcelona Sants to Madrid-Puerta de Atocha Ave / ...

$75 - $110

Cheapest option

Rideshare  •  7 h 17 min

  1. Take the rideshare from Barcelone to Madrid 386.5 miles

$31 - $34

4 alternative options

Bus ALSA  •  7 h 35 min

  1. Take the bus from Barcelona to Madrid

$40 - $65

Bus Rede Expressos  •  9 h 46 min

  1. Take the bus from Barcelona Nord Station to Madrid Estacion Sur

$45 - $57

Drive  •  6 h 4 min

  1. Drive from Barcelona to Madrid 386.7 miles

$70 - $110

Fly  •  3 h 21 min

  1. Fly from Barcelona (BCN) to Madrid (MAD) BCN - MAD

$39 - $160

Questions & Answers

The cheapest way to get from Barcelona to Madrid is to rideshare which costs 27€ - 29€ and takes 7 h 17 min.

More details

The quickest way to get from Barcelona to Madrid is to train which costs 65€ - 90€ and takes 2 h 45 min.

More details

Yes, there is a direct bus departing from Barcelona and arriving at Madrid. Services depart three times a day, and operate Friday and Sunday. The journey takes approximately 7 h 35 min.

More details

Yes, there is a direct train departing from Barcelona Sants and arriving at Madrid-Puerta de Atocha. Services depart hourly, and operate every day. The journey takes approximately 2 h 45 min.

More details

The distance between Barcelona and Madrid is 505 km. The road distance is 618.7 km.

Get driving directions

The best way to get from Barcelona to Madrid without a car is to train which takes 2 h 45 min and costs 65€ - 90€.

More details

The train from Barcelona Sants to Madrid-Puerta de Atocha takes 2 h 45 min including transfers and departs hourly.

More details

Barcelona to Madrid bus services, operated by ALSA, depart from Barcelona station.

More details

Barcelona to Madrid train services, operated by Spanish Railways AVE, depart from Barcelona Sants station.

More details

The best way to get from Barcelona to Madrid is to train which takes 2 h 45 min and costs 65€ - 90€. Alternatively, you can bus, which costs 35€ - 55€ and takes 7 h 35 min, you could also fly, which costs 30€ - 140€ and takes 3 h 21 min.

Mode details

Map of how to get from Barcelona to Madrid.
Launch map view
  • Distance: 315.8 miles
  • Duration: 2 h 45 min

What companies run services between Barcelona, Spain and Madrid, Spain?

Spanish Railways AVE operates a train from Barcelona to Madrid hourly. Tickets cost $75 - $110 and the journey takes 2 h 45 min. Alternatively, ALSA operates a bus from Barcelona to Madrid 3 times a day. Tickets cost $40 - $65 and the journey takes 7 h 35 min.

Airlines
Iberia
Website
iberia.com
Flights from Barcelona to Madrid
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$55 - $250
Vueling Airlines
Website
vueling.com
Flights from Barcelona to Madrid
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$55 - $250
Air Europa
Website
aireuropa.com
Flights from Barcelona to Madrid
Ave. Duration
1 h 22 min
When
Every day
Estimated price
$60 - $220
Train operators
Spanish Railways AVE
Bus operators
ALSA

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 so you’re never bored on your journey. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. Flexibility is another highlight of an ALSA journey, with 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
Website
alsa.es
Bus from Barcelona to Madrid
Ave. Duration
7 h 35 min
Frequency
3 times a day
Estimated price
$40 - $65
Website
alsa.com
Rede Expressos
Phone
707 22 33 44
Email
[email protected]
Website
rede-expressos.pt
Bus from Barcelona Nord Station to Madrid Estacion Sur
Ave. Duration
9 h 30 min
Frequency
Twice a week
Estimated price
$40 - $55
Schedules at
rede-expressos.pt
Book at
rede-expressos.pt
Other operators
BlaBlaCar.es
Rome2rio's guide to BlaBlaCar.es
Contact Details
Website
blablacar.com
Rideshare from Barcelone to Madrid
Ave. Duration
7 h 17 min
Frequency
Every 30 minutes
Estimated price
$31 - $34
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.

More Questions & Answers

The quickest flight from Barcelona Airport to Madrid Airport is the direct flight which takes 1 h 15 min.

Search flights

Barcelona to Madrid bus services, operated by ALSA, arrive at Madrid station.

More details

Barcelona to Madrid train services, operated by Spanish Railways AVE, arrive at Madrid-Puerta de Atocha station.

More details

Yes, the driving distance between Barcelona to Madrid is 619 km. It takes approximately 6 h 4 min to drive from Barcelona to Madrid.

Get driving directions

Air Europa, Vueling Airlines and Iberia offer flights from Barcelona Airport to Madrid Airport.

Search flights

Book your Barcelona to Madrid train tickets online with Rome2rio.

Search and book

Book your Barcelona to Madrid bus tickets online with ALSA.

Search and book

There are 3737+ hotels available in Madrid. Prices start at $53 USD per night.

More details

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.

Read Rome2rio's guide to Blablacar

The best way to get from Barcelona to Barcelona Airport is to train which takes 24 min and costs 1€ - 7€.

More details