Hotels in Petersburg

Popular filters:

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

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

Look out for Petersburg hotels with free cancellation or excellent ratings

Trusted Petersburg hotel providers

See all hotels in Petersburg

View more hotels
Prices may change – pop in your dates for the best estimate. Note that prices are based on previous traveller searches and partner prices.

Can’t find the right hotel?

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

Find hotel deals in Petersburg, along with apartments, hostels and other accommodation with Skyscanner Hotels. Choose and book from over {num_hotels} hotels in Petersburg or alternatively, compare hotels near popular landmarks, such as South Mill Creek Lake, Grant County Parks & Rec Dir and Michael Brothers Memorial Field. Looking for a specific hotel property in Petersburg? Then simply enter that property into the search box above.

Finding cheap hotels in Petersburg: FAQs

In Petersburg, the expected average temperature in June is 19°C. The warmest month is typically July, which averages 28°C. The coolest month is January, with temperatures averaging -7°C. The rainiest month is May, and the driest month is January.
You can always cancel or amend your hotel reservation if you need to, but look out for hotels in 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 135 € per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for 135 € per night.
The average price of a hotel during the week is 182 € per night, and the average price on weekends is 135 €. Overall, it looks like the cheapest day to stay in Petersburg could be Sunday.
The nearest airport to Petersburg is Staunton Airport (SHD), which is 83.4km from the city centre.
We crunched some numbers on our calendar and found that Sunday is the cheapest day to stay in Petersburg. And the most expensive day seems to be Monday
The cheapest month to stay in a hotel in Petersburg is June, with an average price of 173 € per night. The most expensive month is June, when the average room rate can rise to 173 € per night. These average prices are based on all the hotels we found – from hostels through to fancy 5-star hotels.