The average train between Dunfermline and Portsmouth takes 8h and the fastest train takes 6h 44m. There is a train service every few hours from Dunfermline 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 Dunfermline and Portsmouth. The earliest departure is at 6:26 AM in the morning, and the last departure from Dunfermline is at 11:50 PM which arrives into Portsmouth at 11:57 AM. All services require a transfer at Edinburgh Waverley and take an average of 8h. The schedules shown below are for the next available departures.



7h 33m • 3 changes



7h 23m • 3 changes



7h 1m • 3 changes



6h 58m • 3 changes



7h 30m • 3 changes



7h 36m • 3 changes



6h 51m • 3 changes



6h 59m • 3 changes



7h 30m • 3 changes



7h 36m • 3 changes



6h 51m • 3 changes



6h 59m • 3 changes
Want to know about travelling from Dunfermline 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 Dunfermline to Portsmouth. However, there are services departing from Dunfermline station and arriving at Portsmouth station via King's Cross. The journey, including transfers, takes approximately 8h.
Dunfermline to Portsmouth train services, operated by ScotRail, depart from Edinburgh Waverley station.
Dunfermline to Portsmouth train services, operated by ScotRail, arrive at Portsmouth & Southsea station.
Book your Dunfermline to Portsmouth train tickets online with ScotRail, London North Eastern Railway Limited (LNER) and 2 other operators.
The distance between Dunfermline and Portsmouth is 606.8 km. The road distance is 777 km.
You can take a train from Dunfermline Town to Portsmouth & Southsea via Edinburgh Waverley, London Kings Cross, Euston station, Waterloo Station, and London Waterloo in around 7h 14m.