Perth can be accessed from Edinburgh via the M90 from the south, from Glasgow and Stirling via the A9 from the southwest, from Inverness via the A9 from the north and from Dundee and Aberdeen via the A90 from the east.
Perth railway station is operated by First ScotRail, and the station is staffed throughout its opening hours.
From Perth, trains operate to: Edinburgh, via Fife; Glasgow, via Stirling; Aberdeen, via Dundee; and Inverness, via the Highland Main Line.
The daily (overnight) Caledonian Sleeper service between Inverness and London Euston and the daily East Coast Highland Chieftain service between Inverness and London Kings Cross call at Perth.
Citylink and Megabus operate buses to and from Aberdeen, Dundee, Edinburgh, Glasgow, Inverness and Stirling. There are buses to Oban from May until October.
Megabus operate services to and from Birmingham, London, Manchester, Newcastle upon Tyne, Preston, Scotch Corner, Sheffield and Wakefield.
National Express also operate many coach services to towns and cities in England.