Travel Information
Compare bus and train for St Andrews to Inverness
Omio recommends booking the train as it is the most popular option from St Andrews to Inverness among Omio's users. If you are prioritising price take the bus with prices starting from €9. For those with little time consider booking a bus which can get you there in 3h 10m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a bus costs an average of €9, and a train costs an average of €29.
Distance: 95 miles (153 km)
Compare train with
Most popular Train | Bus |
|---|---|
€42 Average price | €13 Average price Cheapest |
4h 4m Average total duration 3h 34m Onboard + 30m Additional time* | 3h 40m Average total duration Fastest 3h 10m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.2 - 0.4kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom St Andrews to Inverness
How to get from St Andrews to Inverness by train, bus or flight.
Our recommendation
The best way to travel from St Andrews to Inverness is by taking a bus because it’s the best combination of price and speed.

Cheapest

Fastest

Other options


Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare bus and train prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Jan 21
Jan 22
Jan 23
Jan 24
Jan 25
Jan 26
Jan 27
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from St Andrews to Inverness
Travel to Inverness easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from St Andrews to Inverness.

There are 2 travel options to Inverness from St Andrews. You can take a bus or train.
The cheapest way to go to Inverness from St Andrews is by taking a bus, which costs on average $11 (€10).
This is compared to other ways of getting from St Andrews to Inverness:
A bus is $21 (€19) less than a train with an average ticket price of $32 (€29) from St Andrews to Inverness.
The fastest way from St Andrews to Inverness is by bus with an average journey time of 3 h 8 min.
There are alternative travel options to Inverness that take longer:
Getting to Inverness by train takes 3 h 42 min on average.
You should expect to travel around 95 miles (153 km) between St Andrews and Inverness.
The average frequency per day from St Andrews to Inverness is:
- 9 buses per day.
- Around 4 trains per day.
However, we recommend checking specific travel dates for your journey between St Andrews and Inverness as scheduled services by bus or train can vary by season or day of the week.
These are the most popular departure and arrival points when traveling from St Andrews to Inverness:
The following travel companies offer services from St Andrews to Inverness:
- Travel with Megabus to go to Inverness by bus. For a good deal on tickets, you can find Megabus St Andrews to Inverness tickets on Omio for $19 (€17).
- Travel with ScotRail for trains to Inverness. If you’re looking for a good deal on tickets, check for ScotRail St Andrews to Inverness tickets on Omio for $32 (€29).
Yes, there are direct services available from St Andrews to Inverness with the following travel companies:
- Direct services by bus with.
- Take a direct train with.
Direct services tend to save you time and add more convenience in getting you to Inverness as you won't need to transfer at another stop in between, so it's worth paying attention to before booking your tickets to Inverness from St Andrews.
Travelling from St Andrews to Inverness: related information
Here are some other resources that might have the information you need


