Explore 3 ways to travel

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

Ferry, line 52 bus, bus  •  3 h 16 min

  1. Take the ferry from Mallaig (CalMac) Ferry Terminal to Armadale Ferry Terminal
  2. Take the line 52 bus from Armadale, Pier to Broadford, Post Office 52 / ...
  3. Take the bus from Broadford, Post Office to Portree, Somerled Square (War Memorial) 917 / ...

$12 - $24

2 alternative options

Bus  •  5 h 19 min

  1. Take the bus from Mallaig, Ferry Terminal to Fort William, Bus Station 500 / ...
  2. Take the bus from Fort William, Bus Station to Portree, Somerled Square (War Memorial) 915 / ...

$32 - $47

Drive  •  2 h 55 min

  1. Drive from Mallaig to Portree 147.7 miles

$30 - $50

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

You can take a bus from Mallaig to Portree via Fort William, Bus Station in around 5 h 19 min.

Bus operators
Stagecoach UK
Email
customer.services@stagecoachbus.com
Website
stagecoachbus.com
Bus from Armadale, Pier to Broadford, Post Office
Ave. Duration
25 min
Frequency
Every 3 hours
Estimated price
$3 - $6
Schedules at
stagecoachbus.com
Bus from Broadford, Post Office to Portree, Somerled Square (War Memorial)
Ave. Duration
38 min
Frequency
Every 2 hours
Estimated price
$4 - $7
Schedules at
stagecoachbus.com
Scottish Citylink
Phone
0871 266 33 33
Email
info@citylink.co.uk
Website
citylink.co.uk
Bus from Broadford, Post Office to Portree, Somerled Square (War Memorial)
Ave. Duration
42 min
Frequency
Hourly
Estimated price
$7 - $11
Schedules at
citylink.co.uk
Bus from Fort William, Bus Station to Portree, Somerled Square (War Memorial)
Ave. Duration
3 h
Frequency
Every 3 hours
Estimated price
$24 - $35
Schedules at
citylink.co.uk
National Express
Ferry operators

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 Milan from the airport, Need to know: Greyhound and How to get from Florence to Rome - to help you get the most out of your next trip.

Questions & Answers

The distance between Mallaig and Portree is 51 km. The road distance is 236 km.

The cheapest way to get from Mallaig to Portree is to ferry and line 52 bus and bus which costs £9 - £19 and takes 3 h 16 min.

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

No, there is no direct bus from Mallaig to Portree. However, there are services departing from Mallaig, Ferry Terminal and arriving at Portree, Somerled Square (War Memorial) via Fort William, Bus Station. The journey, including transfers, takes approximately 5 h 19 min.

It takes approximately 3 h 16 min to get from Mallaig to Portree, including transfers.