The average train between Barcelona Airport (BCN) and Madrid takes 4h 15m and the fastest train takes 3h 29m. There is a train service every few hours from Barcelona Airport (BCN) to Madrid. 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 Barcelona Airport (BCN) and Madrid. The earliest departure is at 6:08 AM in the morning, and the last departure from Barcelona Airport (BCN) is at 11:38 PM which arrives into Madrid at 9:02 AM. All services require a transfer, and take on average 4h 15m. The schedules shown below are for the next available departures.

3h 57m • 1 change

4h 8m • 1 change

4h 36m • 1 change

3h 41m • 1 change

3h 44m • 1 change

3h 57m • 1 change

4h 8m • 1 change

4h 36m • 1 change

3h 44m • 1 change

3h 29m • 1 change

3h 57m • 1 change

4h 8m • 1 change
Want to know about travelling from Barcelona Airport (BCN) to Madrid? 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 Barcelona Airport (BCN) to Madrid. However, there are services departing from Barcelona Airport (BCN) station and arriving at Madrid station via Madrid-Puerta de Atocha-Almudena Grandes. The journey, including transfers, takes approximately 4h 15m.
Barcelona Airport (BCN) to Madrid train services, operated by Rodalies de Catalunya, depart from Barcelona-Sants station.
Barcelona Airport (BCN) to Madrid train services, operated by Rodalies de Catalunya, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Book your Barcelona Airport (BCN) to Madrid train tickets online with Rodalies de Catalunya, Ouigo and 3 other operators.
The distance between Barcelona Airport (BCN) and Madrid is 495.5 km. The road distance is 619 km.
Renfe AVE operates a train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes every 30 minutes. Tickets cost €90–160 and the journey takes 3h 2m. Three other operators also service this route.