4-star hotels in St Andrews

Find the best 4-star hotel in St Andrews for your dates, by price or preference

Compare 4-star hotel deals across hundreds of providers, all in one place

Look out for 4-star hotels in St Andrews with free cancellation or excellent ratings

Trusted St Andrews hotel providers

See all hotels in St Andrews

View more hotels
We use indicative prices on this page to help you choose from a large number of options. The prices on this page are indicative estimates based on searches conducted by travellers on Skyscanner, which are subject to change.
All taxes and fees included
View more hotels

Find a 4-star St Andrews hotel in the heart of the action

Beat the queues at the top St Andrews attractions by staying close to them.

4-star hotels in St Andrews: FAQs

In St Andrews, the expected average temperature in May is 9°C. The warmest month is typically July, which averages 17°C. The coolest month is January, with temperatures averaging 2°C. The rainiest month is October, and the driest month is May.
You can always cancel or amend your hotel reservation if you need to, but look out for hotels in St Andrews with free cancellation or flexible booking options if you want to protect your money. Some hotels allow you to cancel and get your money back if your plans change.
Of course - the cheapest hotel deal we found within the next seven days is 145 € per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for 195 € per night.
The average price of a hotel during the week is 450 € per night, and the average price on weekends is 475 €. Overall, it looks like the cheapest day to stay in St Andrews could be Monday.
The nearest airport to St Andrews is Dundee Airport (DND), which is 18.1km from the city centre.

Other airports include:

Edinburgh Airport, which is 55.8km from the city centre.
We crunched some numbers on our calendar and found that Monday is the cheapest day to stay in St Andrews. And the most expensive day seems to be Saturday
The average price of a 3-star hotel in St Andrews is currently around 271 € per night. And the cheapest 3-star hotel we found is 145 € per night.
The average price of a 4-star hotel in St Andrews is currently around 467 € per night. And the cheapest 4-star hotel we found is 233 € per night.
The average price of a 5-star hotel in St Andrews is currently around 654 € per night. And the cheapest 5-star hotel we found is 263 € per night.
If you're hitting up St Andrews with kids in tow, try Old Course Hotel St Andrews.