| First train | 02:46 | |
|---|---|---|
| Last train | 22:34 | |
| Departure station | Swansea | |
| Arrival station | Perth | |
| Journey time | From 8h 30m | |
| Distance | 330 miles (531 km) | |
| Frequency | 22 trains per day | |
| Changes | 2 changes | |
| Price | From £80.50 | |
| Train operators | Avanti West Coast, Caledonian Sleeper, CrossCountry, Great Western Railway, London North Eastern Railway, ScotRail, TransPennine Express, Transport for Wales |
Want to travel from Swansea to Perth by train? Start your journey with us.
It takes an average of 10 hours 13 minutes to travel from Swansea to Perth by train. You'll find on average 22 trains per day running on this route.
There aren't any direct services on this line, but it's still easy to travel to Perth by train; you'll need to make 2 changes.
London North Eastern Railway, Avanti West Coast, Great Western Railway and ScotRail trains run on this route.
The journey from Swansea to Perth starts at £80.50. Generally, booking Advance train tickets works out cheaper.
See our Journey Planner for up-to-date times and prices.
For more money-saving tips on UK and European train travel, read our cheap train tickets guide.