There are 4 ways to get from Mallaig to Fort William by bus, train, car, or taxi
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Boatyard to Fort William Bus Stationbus 500 / ...
1h 15m£5–7Train
- Take the train from Mallaig to Fort Williamtrain Mallaig - Glasgow Queen Street / ...
1h 25m£40–260Drive 42.6 mi
- Drive from Mallaig to Fort Williamcar 42.6 mi
54 min£11–15Taxi
- Take the taxi from Mallaig to Fort Williamtaxi 42.6 mi
54 min£90–110
Mallaig to Fort William by bus
Questions & Answers
The cheapest way to get from Mallaig to Fort William is to bus which costs £5 - £7 and takes 1h 15m.
The fastest way to get from Mallaig to Fort William is to drive which takes 54 min and costs £10 - £15.
Yes, there is a direct bus departing from Boatyard and arriving at Fort William Bus Station station. Services depart twice daily, and operate Monday to Saturday. The journey takes approximately 1h 15m.
Yes, there is a direct train departing from Mallaig and arriving at Fort William. Services depart five times a day, and operate every day. The journey takes approximately 1h 25m.
The distance between Mallaig and Fort William is 44 miles. The road distance is 42.9 miles.
The best way to get from Mallaig to Fort William without a car is to bus which takes 1h 15m and costs £5 - £7.
The bus from Boatyard to Fort William Bus Station takes 1h 15m including transfers and departs twice daily.
Mallaig to Fort William bus services, operated by Shiel Buses, depart from Boatyard station.
Mallaig to Fort William train services, operated by ScotRail, depart from Mallaig station.
The best way to get from Mallaig to Fort William is to bus which takes 1h 15m and costs £5 - £7. Alternatively, you can train, which costs £40 - £260 and takes 1h 25m.
What companies run services between Mallaig, Highland, Scotland and Fort William, Scotland?
Shiel Buses operates a bus from Boatyard to Fort William Bus Station twice daily. Tickets cost £5–7 and the journey takes 1h 15m. Alternatively, ScotRail operates a train from Mallaig to Fort William 4 times a day. Tickets cost £16–35 and the journey takes 1h 25m. West Coast Railways also services this route twice daily.
- Phone
- +44 (0)344 811 0141
- Website
- scotrail.co.uk
Train from Mallaig to Fort William
- Ave. Duration
- 1h 25m
- Frequency
- 4 times a day
- Estimated price
- £16–35
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 1524 732100
- [email protected]
- Website
- westcoastrailways.co.uk
Train from Mallaig to Fort William
- Ave. Duration
- 1h 53m
- Frequency
- Twice daily
- Estimated price
- £43–252
- Website
- https://westcoastrailways.co.uk/
- Adult Return Standard
- £76
- Child Return Standard
- £43
- Private Table Return 1st Class
- £252
- Phone
- 01967 431 272
- [email protected]
- Website
- shielbuses.co.uk
Bus from Boatyard to Fort William Bus Station
- Ave. Duration
- 1h 15m
- Frequency
- Twice daily
- Estimated price
- £5–7
- Website
- http://shielbuses.co.uk/
- Ave. Duration
- 54 min
- Estimated price
- £90–110
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.
Related travel guides
Travelling to the UK: What do I need to know?
Read the travel guide
More Questions & Answers
Mallaig to Fort William bus services, operated by Shiel Buses, arrive at Fort William Bus Station.
Mallaig to Fort William train services, operated by ScotRail, arrive at Fort William station.
Yes, the driving distance between Mallaig to Fort William is 43 miles. It takes approximately 54 min to drive from Mallaig to Fort William.
Book your Mallaig to Fort William train tickets online with Omio.
There are 748+ hotels available in Fort William.




