Rome2Rio

Madrid to Barcelona trains

Find Transport to Barcelona

View schedule

Trip Overview

The average train between Madrid and Barcelona takes 3h 31m and the fastest train takes 3h 11m. The train service runs several times per day 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.

3h 31m
Duration
607 km
Distance
€85
Average price
Every 3 hours
Frequency

Madrid to Barcelona train times

Trains run every 3 hours between Madrid and Barcelona. The earliest departure is at 12:33 AM at night, 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 31m. The schedules shown below are for the next available departures.

Departing Monday, November 9, 2026

  •  → 

    Renfe Cercaniasiryo3h 37m • 1 change
  •  → 

    Renfe CercaniasOuigo3h 40m • 1 change
  •  → 

    Renfe CercaniasRenfe AVE3h 41m • 1 change
  •  → 

    Renfe Cercaniasiryo3h 14m • 1 change
  • Show more

Departing Tuesday, November 10, 2026

  •  → 

    Renfe CercaniasRenfe AVE3h 19m • 1 change
  •  → 

    Renfe CercaniasOuigo3h 35m • 1 change
  •  → 

    Renfe CercaniasRenfe AVE3h 34m • 1 change
  •  → 

    Renfe CercaniasRenfe AVE3h 12m • 1 change
  • Show more

Departing Wednesday, November 11, 2026

  •  → 

    Renfe CercaniasRenfe AVE8h 51m • 1 change

Frequently asked questions

Want 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.

Map of how to get from Madrid to Barcelona.ExpandLaunch map view
  • Distance: 607.2 km
  • Duration: 3h 31m

What companies run services between Madrid, Spain and Barcelona, Spain?

Renfe AVE operates a train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants every 30 minutes. Tickets cost €80–150 and the journey takes 3h 2m. Three other operators also service this route.

Operators