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.
Taxes and fees not 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 March is 5°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 $2,642 per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for $3,584 per night.
The average price of a hotel during the week is $6,086 per night, and the average price on weekends is $5,513. Overall, it looks like the cheapest day to stay in St Andrews could be Sunday.
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 Sunday is the cheapest day to stay in St Andrews. And the most expensive day seems to be Friday
The average price of a 4-star hotel in St Andrews is currently around $4,317 per night. And the cheapest 4-star hotel we found is $2,668 per night.
The average price of a 5-star hotel in St Andrews is currently around $8,372 per night. And the cheapest 5-star hotel we found is $4,395 per night.