There are 8 ways to get from Perth to Walsall by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Edinburgh
best- Take the train from Perth to Haymarkettrain Perth - Edinburgh / ...
- Take the train from Haymarket to Wolverhamptontrain Edinburgh - London Euston / ...
6h 39m£118–205Bus to Edinburgh Airport, fly to Birmingham Airport
cheapest- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Birmingham Airport (BHX)plane EDI - BHX
4h 28m£36–101Bus
- Take the bus from Canal Street to Buchanan Bus Stationbus M9 / ...
- Take the bus from Buchanan Bus Station to Newhall Stbus Ukn30 / ...
9h 39m£39–65Drive 318 mi
- Drive from Perth to Walsallcar 318 mi
5h 20m£78–113Train
- Take the train from Perth to Stechfordtrain Inverness - London Euston
7h 45m£79–133Train to Glasgow Airport, fly to Birmingham Airport
- Take the train from Perth to Glasgow Queen Streettrain
- Fly from Glasgow Airport (GLA) to Birmingham Airport (BHX)plane GLA - BHX
5h 14m£58–144Bus to Edinburgh Airport, fly to Bristol Airport, train
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Bristol Airport (BRS)plane EDI - BRS
- Take the train from Bristol Temple Meads to Birmingham New Streettrain
6h 4m£80–168Train to Aberdeen Airport, fly to Birmingham Airport
- Take the train from Perth to Aberdeentrain
- Fly from Aberdeen Airport (ABZ) to Birmingham Airport (BHX)plane ABZ - BHX
6h 30m£120–263
Perth to Walsall by train and bus
Questions & Answers
The cheapest way to get from Perth to Walsall is to bus which costs £35 - £65 and takes 9h 39m.
The fastest way to get from Perth to Walsall is to bus and fly which takes 4h 28m and costs £35 - £110.
No, there is no direct bus from Perth to Walsall station. However, there are services departing from Canal Street and arriving at Walsall Bus Station via Buchanan Bus Station and Old Square. The journey, including transfers, takes approximately 9h 39m.
No, there is no direct train from Perth to Walsall. However, there are services departing from Perth and arriving at Walsall via Stechford. The journey, including transfers, takes approximately 7h 45m.
The distance between Perth and Walsall is 342 miles. The road distance is 319.9 miles.
The best way to get from Perth to Walsall without a car is to train via Edinburgh which takes 6h 39m and costs £110 - £210.
It takes approximately 6h 39m to get from Perth to Walsall, including transfers.
Perth to Walsall bus services, operated by Park's of Hamilton, depart from Canal Street station.
Perth to Walsall train services, operated by Caledonian Sleeper, depart from Perth station.
The best way to get from Perth to Walsall is to train via Edinburgh which takes 6h 39m and costs £110 - £210. Alternatively, you can bus, which costs £35 - £65 and takes 9h 39m.
What companies run services between Perth, Scotland and Walsall, England?
You can take a train from Perth to Hollyhedge Lane via Haymarket, Wolverhampton, and Wolverhampton Bus Station in around 6h 39m. Alternatively, you can take a bus from Canal Street to Walsall Bus Station via Buchanan Bus Station, Newhall St, and Old Square in around 9h 39m.
- Website
- easyjet.com
Flights from Edinburgh Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £22–70
Flights from Edinburgh Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- £22–70
Flights from Glasgow Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £21–70
Flights from Glasgow Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 56m
- When
- Monday, Friday, and Sunday
- Estimated price
- £21–70
Flights from Edinburgh Airport to Bristol Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–80
Flights from Edinburgh Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 11m
- When
- Monday, Friday, and Sunday
- Estimated price
- £22–80
- Website
- loganair.co.uk
Flights from Aberdeen Airport to Birmingham Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- £100–220
- Website
- ryanair.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Monday
- Estimated price
- £45–75
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 5m
- When
- Saturday
- Estimated price
- £45–65
- Website
- aerlingus.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £35–150
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £30–150
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Haymarket
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- £23–45
- Website
- https://www.scotrail.co.uk/
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- £27–50
- Website
- https://www.scotrail.co.uk/
Train from Perth to Aberdeen
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Perth to Haymarket
- Ave. Duration
- 1h 9m
- Frequency
- Once daily
- Estimated price
- £15–24
- Website
- https://www.lner.co.uk/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Haymarket to Wolverhampton
- Ave. Duration
- 3h 43m
- Frequency
- Every 4 hours
- Estimated price
- £100–160
- Website
- https://www.avantiwestcoast.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Stechford
- Ave. Duration
- 6h 44m
- Frequency
- Once a week
- Estimated price
- £70–120
- Website
- https://www.sleeper.scot/
Train from Bristol Temple Meads to Birmingham New Street
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- £45–65
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 49m
- Frequency
- Every 30 minutes
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 14m
- Frequency
- 3 times a day
- Estimated price
- £11–16
- Website
- https://www.citylink.co.uk/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Buchanan Bus Station to Newhall St
- Ave. Duration
- 6h 5m
- Frequency
- Every 2 hours
- Estimated price
- £26–45
- Website
- https://www.flixbus.co.uk
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Estimated price
- £7–11
- Website
- https://www.ember.to/
Want to know more about travelling around United Kingdom
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the UK: What do I need to know?
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Perth to Walsall bus services, operated by Park's of Hamilton, arrive at Buchanan Bus Station.
Perth to Walsall train services, operated by Caledonian Sleeper, arrive at Stechford station.
Yes, the driving distance between Perth to Walsall is 320 miles. It takes approximately 5h 20m to drive from Perth to Walsall.
There are 3220+ hotels available in Walsall.


































