The average train between Madrid Barajas Airport and Barcelona takes 4h 14m and the fastest train takes 3h 40m. There is a train service every few hours from Madrid Barajas Airport to Barcelona. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Madrid Barajas Airport and Barcelona. The earliest departure is at 12:10 AM at night, and the last departure from Madrid Barajas Airport is at 7:42 PM which arrives into Barcelona at 11:47 PM. All services require a transfer at Madrid-Aeropuerto T4 and take an average of 4h 14m. The schedules shown below are for the next available departures.


4h • 2 changes


3h 47m • 2 changes


4h 2m • 2 changes


3h 47m • 2 changes


9h 35m • 2 changes


3h 42m • 2 changes


4h 2m • 2 changes


3h 55m • 2 changes


9h 35m • 2 changes


3h 42m • 2 changes


4h 2m • 2 changes


3h 55m • 2 changes
Want to know about travelling from Madrid Barajas Airport to Barcelona? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Madrid Barajas Airport to Barcelona. However, there are services departing from Madrid Barajas Airport station and arriving at Barcelona station via Barcelona-Sants. The journey, including transfers, takes approximately 4h 14m.
Madrid Barajas Airport to Barcelona train services, operated by Renfe Cercanias, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
Madrid Barajas Airport to Barcelona train services, operated by Renfe Cercanias, arrive at Barcelona-Sants station.
Book your Madrid Barajas Airport to Barcelona train tickets online with Renfe Cercanias, iryo and 3 other operators.
The distance between Madrid Barajas Airport and Barcelona is 494.4 km. The road distance is 643 km.
Renfe AVE operates a train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants every 30 minutes. Tickets cost €95–170 and the journey takes 3h 22m. Three other operators also service this route.