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 / ...

$38 - $42

3 alternative options

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

Train  •  8 h

  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

The cheapest way to get from Perth to Mallaig is to drive which costs £23 - £35 and takes 2 h 45 min.

More details

The quickest way to get from Perth to Mallaig is to drive which costs £23 - £35 and takes 2 h 45 min.

More details

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

Get driving directions

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

More details

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 8 h.

More details

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 8 h.

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
1 h
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 46 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 14 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
$28
Schedules at
fisherstours.co.uk
National Express

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Need to know: Greyhound, Getting to Milan from the airport and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.