There are 3 ways to get from Portree to Mallaig by bus, ferry 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, line 52 bus, ferry  •  3 h 19 min

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

$20 - $26

2 alternative options

Bus  •  5 h 8 min

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

$39 - $48

Drive  •  2 h 55 min

  1. Drive from Portree to Mallaig 147.7 miles

$30 - $50

Questions & Answers

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

More details

The distance between Portree and Mallaig is 32 miles. The road distance is 147.7 miles.

Get driving directions

The best way to get from Portree to Mallaig without a car is to bus and line 52 bus and ferry which takes 3 h 19 min and costs .

More details

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

More details

Portree to Mallaig bus services, operated by Scottish Citylink, depart from Portree, Somerled Square (War Memorial) station.

More details

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

More details

Yes, the driving distance between Portree to Mallaig is 148 miles. It takes approximately 2 h 55 min to drive from Portree to Mallaig.

Get driving directions

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

More details

Map of how to get from Portree to Mallaig.
Launch map view
  • Distance: 31.6 miles
  • Duration: 3 h 19 min

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

You can take a bus from Portree to Mallaig via Fort William, Belford Hospital (Fort William Hospital) and Fort William Bus Station in around 5 h 8 min.

Bus operators
Scottish Citylink
Phone
0871 266 33 33
Email
info@citylink.co.uk
Website
citylink.co.uk
Bus from Portree, Somerled Square (War Memorial) to Broadford, Post Office
Ave. Duration
39 min
Frequency
Hourly
Estimated price
$7 - $11
Schedules at
citylink.co.uk
Bus from Portree, Somerled Square (War Memorial) to Fort William, Belford Hospital (Fort William Hospital)
Ave. Duration
2 h 58 min
Frequency
Hourly
Estimated price
$24 - $35
Schedules at
citylink.co.uk
Stagecoach Highlands
Website
stagecoachbus.com
Bus from Portree, Somerled Square (War Memorial) to Broadford, Post Office
Ave. Duration
38 min
Frequency
Every 2 hours
Estimated price
$10
Website
stagecoachbus.com
Bus from Broadford, Post Office to Armadale, Pier
Ave. Duration
25 min
Frequency
Every 3 hours
Estimated price
$7
Website
stagecoachbus.com
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
Ferry operators

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.