Your order

How to Get From Madrid to Barcelona by Train

Spain's two biggest cities, Madrid and Barcelona, are well-connected by train, allowing visitors to travel between them with great ease. Let us tell you what your options are and how you can have a pleasant journey between two of Spain's - and Europe's - most iconic cities.

Video train route Madrid - Barcelona

Train options for Madrid to Barcelona

Map with train route Madrid to Barcelona


High-speed train Regional train

Travel time

2hrs 45 minutes 8hrs 58 minutes

Seat reservations

Mandatory Not required


Madrid Puerta de Atocha -
Barcelona Sants
Madrid Chamartin -
Barcelona Sants

Traveling by high-speed train

    AVE high-speed train at train station
AVE high-speed train at train station

The fastest way to travel from Madrid to Barcelona is by taking the AVE high-speed train. This modern and luxurious train will get you to your destination in just under 3 hours. For actual travel times, check out our timetable.

If you're traveling with a Eurail Pass you don't need to buy a ticket and only pay a small reservation fee. We recommend you book your seats as far in advance as possible.

Traveling by regional train

    Spanish regional train
Spanish regional train

Taking a regional train from Madrid to Barcelona means more travel time than by high-speed train. It also means you don't have to reserve a seat and you can stop along the way in charming Spanish cities like Zaragoza and Tarragona.

If you have a Eurail Pass, you don't need to buy a ticket. You can travel on this train for free and get on and off whenever you like.

Eurail Passes

Eurail Pass cover

The Eurail Pass is a train pass that lets you travel on nearly every train in Europe. It comes in all shapes and sizes, so you can pick the one that best fits your vacation plans. Check out our Eurail Passes.


If you're only looking to travel in Spain, the Eurail Spain Pass might be just the thing for you. Otherwise you can choose another pass and make this journey part of a larger, exciting European adventure!