• Our partners include:

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

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.

Recommended option

Train  •  3 h 10 min

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

$75 - $110

Cheapest option

Rideshare  •  7 h 13 min

  1. Take the rideshare from Madrid to Barcelone 385.3 miles

$35

3 alternative options

Bus  •  7 h 50 min

  1. Take the bus from Madrid to Barcelona/Sants

$40 - $65

Drive  •  6 h 1 min

  1. Drive from Madrid to Barcelona 385.5 miles

$70 - $110

Fly  •  3 h 24 min

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

$38 - $161

Questions & Answers

The cheapest way to get from Madrid to Barcelona is to rideshare which costs 30€ and takes 7 h 13 min.

More details

The quickest way to get from Madrid to Barcelona is to train which costs 65€ - 95€ and takes 3 h 10 min.

More details

Yes, there is a direct bus departing from Madrid and arriving at Barcelona/Sants. Services depart every two hours, and operate every day. The journey takes approximately 7 h 50 min.

More details

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 3 h 10 min.

More details

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

Get driving directions

The best way to get from Madrid to Barcelona without a car is to train which takes 3 h 10 min and costs 65€ - 95€.

More details

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

More details

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

More details

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

More details

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

Mode details

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

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

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

Airlines
Iberia
Website
iberia.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$55 - $250
Vueling Airlines
Website
vueling.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$55 - $250
Air Europa
Website
aireuropa.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 16 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 Madrid to Barcelona/Sants
Ave. Duration
7 h 50 min
Frequency
Every 2 hours
Estimated price
$40 - $65
Website
alsa.com
Other operators
BlaBlaCar.es
Rome2rio's guide to BlaBlaCar.es
Contact Details
Website
blablacar.com
Rideshare from Madrid to Barcelone
Ave. Duration
7 h 13 min
Frequency
Hourly
Estimated price
$35
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 Madrid Airport to Barcelona Airport is the direct flight which takes 1 h 15 min.

Search flights

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

More details

Madrid to Barcelona train services, operated by Spanish Railways AVE, arrive at Barcelona Sants station.

More details

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

Get driving directions

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

Search flights

Book your Madrid to Barcelona train tickets online with Rome2rio.

Search and book

Book your Madrid to Barcelona bus tickets online with ALSA.

Search and book

There are 3504+ hotels available in Barcelona. Prices start at $72 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Madrid and Barcelona. 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 Madrid to Madrid Airport is to train which takes 22 min and costs 1€ - 3€.

More details