The average train between Weston-super-Mare and Portsmouth takes 3h 25m and the fastest train takes 2h 47m. There is a train service every few hours from Weston-super-Mare to Portsmouth. 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 Weston-super-Mare and Portsmouth. The earliest departure is at 6:39 AM in the morning, and the last departure from Weston-super-Mare is at 11:49 PM which arrives into Portsmouth at 7:31 AM. All services require a transfer, and take on average 3h 25m. The schedules shown below are for the next available departures.

3h 5m • 1 change

3h 8m • 1 change

3h 37m • 1 change

3h 18m • 1 change

3h 8m • 1 change

3h 9m • 1 change

2h 58m • 1 change

3h 1m • 1 change

3h 16m • 1 change

3h 49m • 1 change

3h 4m • 1 change

3h 15m • 1 change

3h 5m • 1 change

3h 8m • 1 change

3h 37m • 1 change

3h 18m • 1 change
Want to know about travelling from Weston-super-Mare to Portsmouth? 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 Weston-super-Mare to Portsmouth. However, there are services departing from Weston-super-Mare station and arriving at Portsmouth station via Portsmouth & Southsea. The journey, including transfers, takes approximately 3h 25m.
Weston-super-Mare to Portsmouth train services, operated by Great Western Railway (GWR), depart from Bristol Temple Meads station.
Weston-super-Mare to Portsmouth train services, operated by Great Western Railway (GWR), arrive at Portsmouth & Southsea station.
Book your Weston-super-Mare to Portsmouth train tickets online with Great Western Railway (GWR) and Cross Country.
The distance between Weston-super-Mare and Portsmouth is 145.1 km. The road distance is 193 km.
Great Western Railway (GWR) operates a train from Bristol Temple Meads to Portsmouth & Southsea hourly. Tickets cost £45–90 and the journey takes 2h 26m.