There are 6 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  •  2 h 30 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

4 alternative options

Bus  •  8 h 5 min

  1. Take the bus from Madrid to Barcelona

$40 - $65

Bus via Lleida  •  9 h 12 min

  1. Take the bus from Madrid Airport to Lleida
  2. Take the bus from Lleida to Barcelona Sants Station

$53 - $94

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 takes 2 h 30 min and costs 65€ - 90€.

More details

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

Get driving directions

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

More details

Yes, there is a direct bus departing from Madrid and arriving at Barcelona. Services depart every two hours. The journey takes approximately 8 h 5 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 Monday, Tuesday, Wednesday, Thursday, Friday and Sunday. The journey takes approximately 2 h 30 min.

More details

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 2 h 30 min. Alternatively, ALSA operates a bus from Madrid to Barcelona every 2 hours. Tickets cost $40 - $65 and the journey takes 8 h 5 min.

Airlines
Vueling Airlines
Website
vueling.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$55 - $260
Iberia
Website
iberia.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$55 - $260
Air Europa
Website
aireuropa.com
Flights from Madrid to Barcelona
Ave. Duration
1 h 17 min
When
Every day
Estimated price
$60 - $220
Train operators
Spanish Railways AVE
Website
renfe.com
Train from Madrid-Puerta de Atocha to Barcelona Sants
Ave. Duration
2 h 30 min
Frequency
Hourly
Estimated price
$75 - $110
Website
renfe.com
Bus operators
ALSA
Phone
+34 902 42 22 42
Website
alsa.es
Bus from Madrid to Barcelona
Ave. Duration
8 h 5 min
Frequency
Every 2 hours
Estimated price
$40 - $65
Website
alsa.com
Bus from Madrid Airport to Lleida
Ave. Duration
5 h 36 min
Frequency
Hourly
Estimated price
$30 - $55
Website
alsa.com
Bus from Lleida to Barcelona Sants Station
Ave. Duration
1 h 52 min
Frequency
Hourly
Estimated price
$20 - $35
Website
alsa.com
Other operators
BlaBlaCar.es
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.