Hotels in Saint Petersburg, Russia

Find the best Saint Petersburg hotel for your dates, by price or preference

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

Look out for Saint Petersburg hotels with free cancellation or excellent ratings

Trusted Saint Petersburg hotel providers

See all hotels in Saint Petersburg

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.

Can’t find the right hotel?

Search all available hotels near Saint Petersburg. Find the one that’s right for you.

Find a Saint Petersburg hotel in the heart of the action

Beat the queues at the top Saint Petersburg attractions by staying close to them.

Saint Petersburg hotels: FAQs

You can always cancel or amend your hotel reservation if you need to, but look out for hotels in Saint Petersburg 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 217 SEK per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for 243 SEK per night.
The average price of a hotel during the week is 839 SEK per night, and the average price on weekends is 833 SEK. Overall, it looks like the cheapest day to stay in Saint Petersburg could be Tuesday.
We crunched some numbers on our calendar and found that Tuesday is the cheapest day to stay in Saint Petersburg. And the most expensive day seems to be Friday.
The average price of a 3-star hotel in Saint Petersburg is currently around 679 SEK per night. And the cheapest 3-star hotel we found is 243 SEK per night.
The average price of a 4-star hotel in Saint Petersburg is currently around 1.051 SEK per night. And the cheapest 4-star hotel we found is 320 SEK per night.
The average price of a 5-star hotel in Saint Petersburg is currently around 2.205 SEK per night. And the cheapest 5-star hotel we found is 936 SEK per night.
The cheapest month to stay in a hotel in Saint Petersburg is May, with an average price of 795 SEK per night. The most expensive month is May, when the average room rate can rise to 795 SEK per night. These average prices are based on all the hotels we found – from hostels through to fancy 5-star hotels.
The average price of a hotel in May is 795 SEK per night, which is around 0% higher than the rest of the year.