The average train between Barnes and Portsmouth takes 2h 39m and the fastest train takes 2h 22m. There is an hourly train service from Barnes 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 Barnes and Portsmouth. The earliest departure is at 5:46 AM in the morning, and the last departure from Barnes is at 9:02 PM which arrives into Portsmouth at 11:53 PM. All services require a transfer, and take on average 2h 39m. The schedules shown below are for the next available departures.

2h 59m • 1 change

2h 59m • 1 change

2h 59m • 1 change

2h 59m • 1 change

2h 29m • 1 change

2h 22m • 1 change

2h 29m • 1 change

2h 34m • 1 change

2h 29m • 1 change

2h 22m • 1 change

2h 29m • 1 change

2h 34m • 1 change
Want to know about travelling from Barnes 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 Barnes to Portsmouth. However, there are services departing from Barnes station and arriving at Portsmouth station via Portsmouth & Southsea. The journey, including transfers, takes approximately 2h 39m.
Barnes to Portsmouth train services, operated by South Western Railway, depart from Clapham Junction station.
Barnes to Portsmouth train services, operated by South Western Railway, arrive at Portsmouth & Southsea station.
Book your Barnes to Portsmouth train tickets online with South Western Railway and Southern.
The distance between Barnes and Portsmouth is 95.3 km. The road distance is 139 km.
Southern operates a train from Clapham Junction to Portsmouth & Southsea hourly. Tickets cost £40–85 and the journey takes 1h 56m. South Western Railway also services this route every 4 hours.