It takes an average of 2h 8m to travel from Portsmouth to London by train, over a distance of around 63 miles (102 km). There are normally 587 trains per day travelling from Portsmouth to London and tickets for this journey start from £7 when you book in advance.
From 1h 27m
63 miles (102 km)
587 trains per day
Direct trains available
Thinking about taking the train from Portsmouth to London? We’ve got you covered.
The train from Portsmouth to London usually takes around 2h 8m but can take just 1h 27m on the fastest South Western Railway or Southern services, with around 298 trains running on this popular route per day. Once you're on board, you can sit back and relax, as you won’t need to make any changes along the way.
Use our Journey Planner at the top of the page to search for cheap ticket prices – we’ll show you how much you can save on your train tickets if you travel Off-Peak or get a Railcard.
If you want to know more about the journey from Portsmouth to London by train, keep reading for timetable, tips on finding cheap tickets and FAQs including first and last train times. Want to go straight to booking? Start a search with us today!
If you catch this train more than 3 times per week, you could save money with a Season Ticket. With annual, monthly and weekly options available, find out if a season ticket for Portsmouth to London is right for you.
National Railcards offer a 1/3 off eligible train tickets in the UK and can be a great investment if you travel a few times or more in a year. Find out how you can save with a National Railcard here.
Download our app to find split tickets — courtesy of SplitSave, our handy feature which 'splits' your train tickets where possible to find you a better deal. Learn more about the clever tech behind split tickets, and how to spot SplitSave discounts in our app.
For more money-saving tips on UK and European train travel, read our cheap train tickets guide.