Madrid to Barcelona by train
Avg. journey time
Travelling from Madrid to Barcelona by train
Fast trains from Madrid to Barcelona take around 2 hours and 30 minutes, covering a distance of approximately 503 kilometres. There are frequent services on the rail route between Madrid and Barcelona.
1. Are there direct trains from Madrid to Barcelona?
Direct trains from Madrid to Barcelona have been found.
We usually find around 28 direct trains on the route from Madrid to Barcelona every weekday.
There are typically fewer departures at weekends, when we found around 18 departures.
2. How long is the train journey from Madrid to Barcelona?
The Madrid to Barcelona train travel time is normally about 2 hours and 30 minutes, whatever time you make the journey.
3. What are the Madrid to Barcelona train times and schedule?
On weekdays the earliest direct train to Barcelona is usually scheduled to depart Madrid around 05:50 and the last train is around 21:25.
At weekends the first train of the day leaves Madrid around 06:20, and the last at 21:25.
What's the Madrid to Barcelona train price?
The earlier you book the better, and the cheapest tickets we've found for trains from Madrid to Barcelona are $37.56.
Trains departing 30 days in advance will cost around $76 while booking 7 days in advance the price is around $86. Booking on the day of travel is likely to be more expensive, so it is worth booking in advance if you can to save money.
When to book Madrid to Barcelona train tickets?
Trains in Spain usually open for booking around 4 months in advance.
If booking is not yet open for your dates then you can set a booking alert to receive an email on the day that the cheapest tickets are released for your journey from Madrid to Barcelona by train.
Help with booking alerts
Which train companies operate between Madrid and Barcelona?
More than one train company operates on the route from Madrid to Barcelona, so you’ll be travelling with one or more of the following rail operators:
You can check which train you’ll be travelling on by looking for the train name in search results.
Barcelona to Madrid by train