3-star hotels in Surabaya

Find the best 3-star hotel in Surabaya for your dates, by price or preference

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

Look out for 3-star hotels in Surabaya with free cancellation or excellent ratings

Trusted Surabaya hotel providers

Booking.com logo
Trip.com logo
Hotels.com logo
Hyatt Hotels logo
Expedia logo
Airbnb logo

See all hotels in Surabaya

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

Find a 3-star Surabaya hotel in the heart of the action

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

3-star hotels in Surabaya: FAQs

In Surabaya, the expected average temperature in September is 29°C. The warmest month is typically May, which averages 32°C. The coolest month is February, with temperatures averaging 26°C. The rainiest month is February, and the driest month is August.

You can always cancel or amend your hotel reservation if you need to, but look out for hotels in Surabaya 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 Rs1,485 per night. If you need somewhere in the next 24 hours, we've found you somewhere to stay for Rs1,522 per night.
The average price of a hotel during the week is Rs8,633 per night, and the average price on weekends is Rs8,920. 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 centre.

Other airports include:

Malang Airport, which is 71.3km from the city centre.
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 Saturday
The average price of a 3-star hotel in Surabaya is currently around Rs5,081 per night. And the cheapest 3-star hotel we found is Rs1,485 per night.
The average price of a 4-star hotel in Surabaya is currently around Rs9,458 per night. And the cheapest 4-star hotel we found is Rs4,056 per night.
The average price of a 5-star hotel in Surabaya is currently around Rs16,365 per night. And the cheapest 5-star hotel we found is Rs10,519 per night.
The cheapest month to stay in a hotel in Surabaya is September, with an average price of Rs7,131 per night. The most expensive month is January, when the average room rate can rise to Rs23,216 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 October is Rs9,100 per night, which is around 6% lower than the rest of the year.
If you're planning a trip with the whole family, the best rated hotels for you near Surabaya are Rock Hotel, Evora Hotel and MaxOneHotel Tidar Surabaya.