The average train between Portsmouth and Swindon takes 2h 32m and the fastest train takes 2h 10m. There is a train service every few hours from Portsmouth to Swindon. 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 Portsmouth and Swindon. The earliest departure is at 4:59 AM at night, and the last departure from Portsmouth is at 9:00 PM which arrives into Swindon at 11:59 PM. All services require a transfer at Basingstoke and take an average of 2h 32m. The schedules shown below are for the next available departures.


2h 20m • 2 changes


2h 20m • 2 changes


2h 24m • 2 changes


2h 23m • 2 changes


2h 27m • 2 changes


2h 24m • 2 changes


2h 10m • 2 changes


2h 28m • 2 changes


2h 27m • 2 changes


2h 24m • 2 changes


2h 10m • 2 changes


2h 28m • 2 changes


2h 27m • 2 changes


2h 24m • 2 changes


2h 10m • 2 changes


2h 28m • 2 changes
Want to know about travelling from Portsmouth to Swindon? 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 Portsmouth to Swindon. However, there are services departing from Portsmouth station and arriving at Swindon station via Basingstoke. The journey, including transfers, takes approximately 2h 32m.
Portsmouth to Swindon train services, operated by South Western Railway, depart from Portsmouth & Southsea station.
Portsmouth to Swindon train services, operated by South Western Railway, arrive at Swindon station.
Book your Portsmouth to Swindon train tickets online with South Western Railway, Great Western Railway (GWR) and Cross Country.
The distance between Portsmouth and Swindon is 97.1 km. The road distance is 166 km.
You can take a train from Portsmouth & Southsea to Swindon via Basingstoke and Reading in around 2h 30m.