The average train between Madrid and Porta takes 3h 46m and the fastest train takes 3h 23m. The train service runs several times per day from Madrid to Porta. 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 3 times a day between Madrid and Porta. The earliest departure is at 2:27 PM in the afternoon, and the last departure from Madrid is at 7:34 PM which arrives into Porta at 11:45 PM. All services require a transfer, and take on average 3h 46m. The schedules shown below are for the next available departures.

3h 48m • 1 change

4h 3m • 1 change

3h 23m • 1 change

3h 38m • 1 change
Want to know about travelling from Madrid to Porta? 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 Porta. However, there are services departing from Madrid station and arriving at Porta station via Barcelona-Sants. The journey, including transfers, takes approximately 3h 46m.
Madrid to Porta train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
Madrid to Porta train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Book your Madrid to Porta train tickets online with Renfe AVE, Rodalies de Catalunya and 2 other operators.
The distance between Madrid and Porta is 506.8 km. The road distance is 633 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.