Hotels in Surabaya

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

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

Look out for Surabaya hotels with free cancellation or excellent ratings

Trusted Surabaya hotel providers

See all hotels in Surabaya

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 travelers on Skyscanner, which are subject to change.
All taxes and fees included
View more hotels

Fast facts

Sleep easy, armed with the stuff that's good to know before you go.
Highest-rated hotelBumi Surabaya City Resort – 4.5
Cheapest month to bookMay
Average 4-star hotel priceRs10,860 per night
Average 5-star hotel priceRs22,844 per night
Need some inspiration on where to stay? Top rated cheap hotels in Surabaya include Bumi Surabaya City Resort, DoubleTree by Hilton Surabaya and The Westin Surabaya based on user reviews. Skyscanner hotels is a fast, free and simple way to organize your stay. In a few clicks you can easily search, compare and book your Surabaya accommodation by clicking directly through to the hotel or travel agent website. No fees are added to your stay by booking with us. To get started, simply add your chosen travel dates to the search box above and let us find cheap hotel deals for you. Or alternatively, select from the hotel options above.

Finding cheap hotels in Surabaya: FAQs

In Surabaya, the expected average temperature in May is 27°C. The warmest month is typically November, which averages 32°C. The coolest month is February, with temperatures averaging 25°C. The rainiest month is January, and the driest month is August.
Of course, the cheapest hotel deal we found within the next seven days is Rs1,872 per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for Rs1,872 per night.
The average price of a hotel during the week is Rs7,596 per night, and the average price on weekends is Rs7,571. Overall, it looks like the cheapest day to stay in Surabaya could be Sunday.
The nearest airport to Surabaya is Surabaya Airport (SUB), which is 11.6km from the city center.

Other airports include:

Malang Airport, which is 71.7km from the city center.
We crunched some numbers on our calendar and found that Sunday is the cheapest day to stay in Surabaya, and the most expensive day seems to be Thursday.
The average price of a 3-star hotel in Surabaya is currently around Rs4,868 per night, and the cheapest 3-star hotel we've found is Rs1,872 per night.
The average price of a 4-star hotel in Surabaya is currently around Rs11,234 per night, and the cheapest 4-star hotel we've found is Rs3,370 per night.
The average price of a 5-star hotel in Surabaya is currently around Rs22,844 per night, and the cheapest 5-star hotel we've found is Rs10,485 per night.
The cheapest month to stay in a hotel in Surabaya is May, with an average price of Rs7,489 per night. The most expensive month is April, when the average room rate can be up to Rs16,852 per night. These average prices are based on all the hotels we found – from hostels to fancy 5-star hotels.
The average price of a hotel in May is Rs7,489 per night, which is around 7% lower than the rest of the year.
If you're hitting up Surabaya with kids in tow, try Swiss-Belinn Tunjungan Surabaya, Favehotel Rungkut Surabaya, and Evora Hotel.