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

$41 - $45

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

$45 - $50

Train  •  7 h 59 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

$65 - $85

Drive  •  2 h 45 min

  1. Drive from Perth to Mallaig 142.5 miles

$30 - $45

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

You can take a bus from Perth to Mallaig via 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 59 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
$15 - $20
Website
scotrail.co.uk
Advanced Single
$10 - $15
Anytime Day Single
$15 - $20
Train from Perth to Glasgow Queen Street
Ave. Duration
1 h
Frequency
Hourly
Estimated price
$20 - $25
Website
scotrail.co.uk
Advanced Single
$12 - $18
Anytime Day Single
$20 - $25
Train from Glasgow Queen Street to Crianlarich
Ave. Duration
1 h 46 min
Frequency
4 times a day
Estimated price
$16 - $20
Website
scotrail.co.uk
Advanced Single
$8 - $12
Anytime Day Single
$16 - $20
Train from Crianlarich to Mallaig
Ave. Duration
3 h 13 min
Frequency
3 times a day
Estimated price
$29 - $40
Website
scotrail.co.uk
Advanced Single
$15 - $22
Anytime Day Single
$29 - $40
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
$33
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
$31
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 Getting to Rome from the airport, How do I buy a London Underground ticket? and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.

Questions & Answers

How far is it from Perth to Mallaig?

The distance between Perth and Mallaig is 161 km. The road distance is 228 km.

What is the cheapest way to get from Perth to Mallaig?

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

What is the fastest way to get from Perth to Mallaig?

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

Is there a direct train between Perth and Mallaig?

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 59 min.

Is there a direct bus between Perth and Mallaig?

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.

How long does it take to get from Perth to Mallaig?

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