Fastest journey2hr 30m
Travelling by train from Madrid to Barcelona is easy and so fast - only 2 hrs 30 mins - that the train is now taking a lot of trade away from Europe’s busiest air route. This new rail route between Spain’s two largest cities opened in 2008, and on every weekday about two dozen AVE trains speed between Madrid and Barcelona. On Saturdays and Sundays, you’ll still have a choice of about 16 trains in each direction.
The 621-km journey from Madrid to Barcelona is very popular, so you’ll need to book well in advance to get a bargain fare. Cheap tickets are few and far between on peak time departures from Madrid on this prime business route. You’re more likely to strike a good deal if you travel very early in the morning, in the middle of the day or in the evening.
There is also a once-a-day slow Regional Express train from Madrid to Barcelona. With three dozen stops en route, it takes over nine hours. The train leaves each morning from Madrid Chamartin. The Estrella overnight train which once linked Madrid and Barcelona was withdrawn in April 2015 - customers who once favoured that overnight option had shifted to the much improved daytime services.
Booking normally opens about 90 days prior to travel, though the Spanish rail operator often releases tickets in batches as early as 120 days in advance. If you're having trouble finding tickets, contact us and we'll email you when booking opens.
Madrid to Barcelona
Take a direct high-speed AVE train from Madrid to Barcelona. At peak times Madrid to Barcelona trains depart every 30 minutes, with the fastest services taking just 2 hrs 30 mins to reach the Spanish capital. Trains that stop up to four times along the way may take 30 to 40 mins longer. These fast trains all depart from Madrid Atocha and arrive in Barcelona at Sants station.
Other journeys to Barcelona View all journeys to Barcelona
- From Montpellier from £23.50
- From Paris from £27.50
- From London from £74.50
- From Avignon from £27.50
- From Toulouse from £27.00
- From Narbonne from £27.00