The average train between Madrid and Barcelona takes 3h 25m and the fastest train takes 3h 11m. There is an hourly train service from Madrid 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 and Barcelona. The earliest departure is at 5:56 AM in the morning, and the last departure from Madrid is at 8:20 PM which arrives into Barcelona at 11:47 PM. All services require a transfer at Madrid-Atocha Cercanías and take an average of 3h 25m. The schedules shown below are for the next available departures.

3h 38m • 1 change
3h 12m • 1 change
3h 11m • 1 change
3h 15m • 1 change
3h 39m • 1 change
3h 35m • 1 change
3h 34m • 1 change
3h 12m • 1 change
3h 40m • 1 change
3h 41m • 1 change
3h 14m • 1 change
3h 55m • 1 change
3h 40m • 1 change
3h 41m • 1 change
3h 55m • 1 change
3h 17m • 1 change
3h 19m • 1 change
3h 35m • 1 change
3h 34m • 1 change
3h 12m • 1 change
3h 19m • 1 change
3h 35m • 1 change
3h 34m • 1 change
3h 12m • 1 change
3h 19m • 1 change
3h 35m • 1 change
3h 34m • 1 change
3h 12m • 1 changeWant to know about travelling from Madrid 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 to Barcelona. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes station and arriving at Barcelona-Sants station via Barcelona-Sants station. The journey, including transfers, takes approximately 3h 25m.
Madrid to Barcelona train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
Madrid to Barcelona train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Book your Madrid to Barcelona train tickets online with Omio.
The distance between Madrid and Barcelona is 504.1 km. The road distance is 609 km.
Renfe AVE operates a train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants every 30 minutes. Tickets cost €85–150 and the journey takes 3h 2m. Three other operators also service this route.