The average bus between Portalegre and Serpa takes 7h 37m and the fastest bus takes 3h 41m. The bus service runs several times per day from Portalegre to Serpa. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run twice daily between Portalegre and Serpa. The earliest departure is at 7:30 AM in the morning, and the last departure from Portalegre is at 3:30 PM which arrives into Serpa at 7:15 AM. All services require a transfer, and take on average 7h 37m. The schedules shown below are for the next available departures.

3h 41m • 1 change

5h 5m • 1 change
Arrives next day

15h 45m • 1 change

3h 41m • 1 change

5h 5m • 1 change
Arrives next day

15h 45m • 1 change
Want to know about travelling from Portalegre to Serpa? 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 bus from Portalegre to Serpa. However, there are services departing from Portalegre station and arriving at Serpa station via Terminal Rodoviário de Beja. The journey, including transfers, takes approximately 7h 37m.
Portalegre to Serpa bus services, operated by Rede Expressos, depart from Terminal Rodoviário de Portalegre station.
Portalegre to Serpa bus services, operated by Rede Expressos, arrive at Terminal Rodoviário de Beja station.
Book your Portalegre to Serpa bus tickets online with Rede Expressos and Rodoviaria do Alentejo.
The distance between Portalegre and Serpa is 150.6 km. The road distance is 214 km.
Rede Expressos operates a bus from Terminal Rodoviário de Portalegre to Terminal Rodoviário de Beja twice daily. Tickets cost €13–35 and the journey takes 2h 45m.