Visiting Wanderio, you agree to our use of cookies.

How to get from Madrid to Barcelona

Compare flights, trains, buses and transfers to get from Madrid to Barcelona


Press the down arrow key to interact with the calendar and select a date. Press the question mark key to get the keyboard shortcuts for changing dates.

1 Passenger
from Madrid to Barcelona

How to get from Madrid to Barcelona

Travel from Madrid to Barcelona and discover this Spain city of 1.600.000 inhabitants. The distance from Madrid to Barcelona is 811 kilometers; with Wanderio you can compare the available trains, buses, and flights to get from Madrid to Barcelona, so that you can organize your trip choosing the fastest route, the most comfortable or the cheapest one. You can choose among different choices and organize your trip according to your needs, depending on whether you are looking for the fastest, the most comfortable or perhaps the cheapest travel solution. For example, by choosing a flight from Madrid to Barcelona, you’ll get to your destination in about 1 hour on average; flight ticket prices start from 49 €. Going from Madrid to Barcelona by train instead? Prices for your ticket start from 41 € and the train journey takes about 3 hours on average.

Trains Madrid - Barcelona

You can get from Madrid to Barcelona by train, thanks to the 24 daily routes provided by Renfe. The train ride from Madrid to Barcelona takes about 3 hours on average and the average train ticket is 65€. If you book in advance, you can find the best fares and save 42% on average on your train ticket, with prices starting from 41€. Travelling Spain by train can often be cheap.

Buses Madrid - Barcelona

Coaches from Madrid to Barcelona are comfortable and rather cheap; you can travel with ALSA and Flixbus on one of the 30 buses that every day link Madrid to Barcelona and get you to your destination in about 7 hours on average. Madrid - Barcelona bus tickets cost 38€ on average. Thanks to low cost fares though, you can find cheap buses at prices as low as 23€. Travelling Spain by bus could be the cheapest solution for you low budget trips.

Flights Madrid - Barcelona

To get to Barcelona from Madrid you can take a flight from Adolfo Suárez Madrid–Barajas Airport, which is the closest airport to Madrid, and arrive at Barcelona–El Prat Airport, the airport the best serves Barcelona. The average price for a Madrid to Barcelona flight is 550€, but you can find low cost flights as well, with prices starting from 49€. Getting from Madrid to Barcelona by flight takes about 1 hour on average; however, you need to consider the time to get to the airport and pass the security checks. You can count on 35 daily connections between Madrid and Barcelona provided by Brussels Airlines, flybe, and Air France. Barcelona–El Prat Airport is the closest airport to Barcelona and is 19.2 kilometers away from the city center; you can get to Barcelona in 29 minutes thanks to airport shuttles from Barcelona–El Prat Airport to Barcelona.