The average train between Porto and Beja takes 6h 19m and the fastest train takes 5h 34m. The train service runs several times per day from Porto to Beja. 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 Porto and Beja. The earliest departure is at 1:08 AM at night, and the last departure from Porto is at 1:40 PM which arrives into Beja at 7:20 PM. All services require a transfer at Lisboa Oriente and take an average of 6h 19m. The schedules shown below are for the next available departures.


8h 18m • 2 changes


5h 38m • 2 changes


6h 14m • 2 changes


5h 40m • 2 changes


8h 18m • 2 changes


5h 38m • 2 changes


6h 14m • 2 changes


5h 40m • 2 changes
Want to know about travelling from Porto to Beja? 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 Porto to Beja. However, there are services departing from Porto station and arriving at Beja station via Lisboa Oriente. The journey, including transfers, takes approximately 6h 19m.
Porto to Beja train services, operated by Comboios de Portugal, depart from Porto Campanha station.
Porto to Beja train services, operated by Comboios de Portugal, arrive at Beja station.
Book your Porto to Beja train tickets online with Comboios de Portugal.
The distance between Porto and Beja is 354.4 km. The road distance is 515 km.
You can take a train from Porto Campanha to Beja via Lisboa Oriente and Casa Branca in around 6h 54m.