There are 3 ways to get from Mallaig to Portree by ferry, bus 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

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

$19 - $25

2 alternative options

Bus  •  5 h 21 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) 916 / ...

$38 - $50

Drive  •  2 h 55 min

  1. Drive from Mallaig to Portree 147.7 miles

$30 - $50

Questions & Answers

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

More details

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

Get driving directions

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

More details

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

More details

Mallaig to Portree bus services, operated by Shiel Buses, depart from Mallaig, Ferry Terminal station.

More details

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

More details

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

Get driving directions

There are 272+ hotels available in Portree. Prices start at $111 USD per night.

More details

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

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

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

Bus operators
Stagecoach Highlands
Website
stagecoachbus.com
Bus from Armadale, Pier to Broadford, Post Office
Ave. Duration
25 min
Frequency
Every 3 hours
Estimated price
$7
Website
stagecoachbus.com
Bus from Broadford, Post Office to Portree, Somerled Square (War Memorial)
Ave. Duration
38 min
Frequency
Every 2 hours
Estimated price
$10
Website
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 2 min
Frequency
Every 2 hours
Estimated price
$23 - $35
Schedules at
citylink.co.uk
Shiel Buses
Website
shielbuses.co.uk
Bus from Mallaig, Ferry Terminal to Fort William Bus Station
Ave. Duration
1 h 19 min
Frequency
Hourly
Estimated price
$16
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.