The average train between Barcelona and Madrid takes 3h 30m and the fastest train takes 3h 8m. The train service runs several times per day from Barcelona 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 every 4 hours between Barcelona and Madrid. The earliest departure is at 5:45 AM in the morning, and the last departure from Barcelona is at 8:28 PM which arrives into Madrid at 12:03 AM. All services require a transfer at Madrid-Puerta de Atocha-Almudena Grandes and take an average of 3h 30m. The schedules shown below are for the next available departures.

3h 24m • 1 change

4h • 1 change

3h 26m • 1 change

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