There are 4 ways to get from Perth to Mallaig by bus, train or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  4 h 34 min

  1. Take the bus from Perth, Canal Street (Speygate) to Fort William, Bus Station 226 / ...
  2. Take the bus from Fort William Bus Station to Mallaig, Ferry Terminal 502 / ...

$46

Cheapest option

Bus, train  •  4 h 46 min

  1. Take the bus from Perth, Canal Street (Speygate) to Spean Bridge, Spean Crescent 226 / ...
  2. Take the train from Spean Bridge to Mallaig

$42 - $47

2 alternative options

Train  •  7 h 55 min

  1. Take the train from Perth to Glasgow Queen Street
  2. Take the train from Glasgow Queen Street to Crianlarich
  3. Take the train from Crianlarich to Mallaig

$61 - $77

Drive  •  2 h 45 min

  1. Drive from Perth to Mallaig 142.5 miles

$30 - $45

Questions & Answers

No, there is no direct bus from Perth to Mallaig. However, there are services departing from Perth, Canal Street (Speygate) and arriving at Mallaig, Ferry Terminal via Fort William Bus Station. The journey, including transfers, takes approximately 4 h 34 min.

More details

No, there is no direct train from Perth to Mallaig. However, there are services departing from Perth and arriving at Mallaig via Glasgow Queen Street and Crianlarich. The journey, including transfers, takes approximately 7 h 55 min.

More details

The distance between Perth and Mallaig is 101 miles. The road distance is 142.5 miles.

Get driving directions

The best way to get from Perth to Mallaig without a car is to bus which takes 4 h 34 min and costs .

More details

It takes approximately 4 h 34 min to get from Perth to Mallaig, including transfers.

More details

Perth to Mallaig bus services, operated by Fishers Tours of Dundee, depart from Perth, Canal Street (Speygate) station.

More details

Perth to Mallaig train services, operated by ScotRail, depart from Perth station.

More details

The best way to get from Perth to Mallaig is to bus which takes 4 h 34 min and costs . Alternatively, you can train, which costs and takes 7 h 55 min.

Mode details

Perth to Mallaig bus services, operated by Shiel Buses, arrive at Mallaig, Ferry Terminal station.

More details

Perth to Mallaig train services, operated by ScotRail, arrive at Mallaig station.

More details

Map of how to get from Perth to Mallaig.
Launch map view
  • Distance: 100.9 miles
  • Duration: 4 h 34 min

What companies run services between Perth, Scotland and Mallaig, Scotland?

You can take a bus from Perth to Mallaig via Fort William, Bus Station and Fort William Bus Station in around 4 h 34 min. Alternatively, you can take a train from Perth to Mallaig via Glasgow Queen Street and Crianlarich in around 7 h 55 min.

Train operators
ScotRail
Phone
+44 344 811 0141
Email
customer.relations@scotrail.co.uk
Website
scotrail.co.uk
Train from Spean Bridge to Mallaig
Ave. Duration
1 h 39 min
Frequency
3 times a day
Estimated price
$14 - $19
Website
scotrail.co.uk
Advanced Single
$9 - $14
Anytime Day Single
$14 - $19
Train from Perth to Glasgow Queen Street
Ave. Duration
58 min
Frequency
Hourly
Estimated price
$18 - $24
Website
scotrail.co.uk
Advanced Single
$12 - $17
Anytime Day Single
$18 - $24
Train from Glasgow Queen Street to Crianlarich
Ave. Duration
1 h 44 min
Frequency
5 times a day
Estimated price
$15 - $19
Website
scotrail.co.uk
Advanced Single
$8 - $11
Anytime Day Single
$15 - $19
Train from Crianlarich to Mallaig
Ave. Duration
3 h 13 min
Frequency
3 times a day
Estimated price
$27 - $35
Website
scotrail.co.uk
Advanced Single
$14 - $20
Anytime Day Single
$27 - $35
Bus operators
Fishers Tours of Dundee
Phone
01382 227290
Email
enquiries@fisherstours.co.uk
Website
fisherstours.co.uk
Bus from Perth, Canal Street (Speygate) to Fort William, Bus Station
Ave. Duration
2 h 24 min
Frequency
3 times a day
Estimated price
$31
Schedules at
fisherstours.co.uk
Bus from Perth, Canal Street (Speygate) to Spean Bridge, Spean Crescent
Ave. Duration
2 h 7 min
Frequency
3 times a day
Estimated price
$29
Schedules at
fisherstours.co.uk
Shiel Buses
Website
shielbuses.co.uk
Bus from Fort William Bus Station to Mallaig, Ferry Terminal
Ave. Duration
1 h 10 min
Frequency
Every 4 hours
Estimated price
$15
Website
shielbuses.co.uk

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.

More Questions & Answers

Yes, the driving distance between Perth to Mallaig is 142 miles. It takes approximately 2 h 45 min to drive from Perth to Mallaig.

Get driving directions

Book your Perth to Mallaig train tickets online with Rome2rio.

Search and book

There are 35+ hotels available in Mallaig. Prices start at $86 USD per night.

More details