Taking the train from Madrid to Barcelona is one of the easiest and fastest ways to get between the two major cities when you are visiting Spain.

There are two types of trains you can take to Barcelona: high-speed trains and regional trains. Details of each are outlined below.

High-Speed Trains from Madrid to Barcelona
High-speed ‘AVE’ trains from Madrid to Barcelona run regularly from Madrid’s Atocha train station to Barcelona’s Estacio Sants train station. They are run by Renfe.

Trains leave Madrid up to three times an hour throughout the day, so you can travel whenever you need to. The journey time to Barcelona ranges from 2 hours and 30 minutes to 3 hours and 10 minutes, depending on which train you take.

The cost of a ticket on this route varies depending on the departure time of the train and how far in advance you book. Fares are 119.80 euros in tourist class, 143.80 euros in tourist plus, 179.80 euros in preferred, and 215.70 euros in club. Discounts are available if you book online in advance.

Regional Trains from Madrid to Barcelona
There are usually two regional trains per day on this route. One departs in the morning and travels throughout the day, and the other is an overnight service. They are both run by Renfe.

These trains depart from Madrid’s Chamartin train station and arrive at Barcelona’s Estacio Sants train station.

The journey time on regional trains from Madrid to Barcelona ranges from 8.5 to 9 hours. Tickets cost from 41 euros for standard class and 60 euros for a sleeper cabin (night services only).