Surabaya is Indonesia’s second-largest city and East Java’s capital — a major port and business hub rather than a headline tourist destination, and that shapes its hotel scene accordingly.
Expect a strong lineup of international business hotels, one genuinely historic colonial-era property, and practical budget options clustered around the main train station. Boutique villas and resort-style properties are less common here than elsewhere in Indonesia.
Most travelers pass through Surabaya as a stopover — connecting through Juanda International Airport on the way to Malang, Mount Bromo, or Bali — but the city has enough of its own history and food scene to justify a night or two on its own. This guide covers where to stay in Surabaya across every budget.
Quick Answer: Best Hotels in Surabaya
For a splurge, Hotel Majapahit Surabaya is the obvious pick — a genuinely historic colonial-era property with real significance to Indonesian independence history, not just a hotel styled to look old.
For a reliable mid-range stay, Four Points by Sheraton Surabaya, Tunjungan Plaza puts you inside a major mall with direct access to shops and services nearby.
For budget travelers, Swiss-Belinn Tunjungan offers a clean, well-located, well-reviewed stay near central Surabaya.
Where to Stay in Surabaya
Surabaya is a large, spread-out city, so the area you choose affects your trip more than it would in a compact tourist town.
- Tunjungan — the city’s shopping and nightlife core, built around Tunjungan Plaza, one of the largest mall complexes in Southeast Asia. Central, well-connected, and close to landmarks like the House of Sampoerna Museum and Heroes Monument.
- Gubeng — centered on Surabaya Gubeng, the city’s main train station, and the most practical base for anyone connecting onward by rail to Malang or elsewhere in Java. A mix of budget guesthouses and solid mid-range hotels, plus plenty of local warungs.
- MERR — a newer, younger district with cafes and malls, well-connected to Juanda International Airport, and generally calmer than the city center.
- Darmo — a quieter, more residential area with budget-friendly accommodation, close to Surabaya Zoo and Taman Bungkul park.
Best Hotels in Surabaya
1. Hotel Majapahit Surabaya (Luxury)
It has a 4.7/5 rating from 1,817 TripAdvisor reviews, with rooms typically $99–125 a night.
Hotel Majapahit is one of Indonesia’s most historically significant hotels — the site of the 1945 flag-tearing incident that became a symbol of the independence struggle — now run as part of Accor’s MGallery heritage collection. Antique furnishings, large gardens and a genuine sense of history set it apart from every other hotel in the city.

It sits right in the heart of the city near Tunjungan, so staying here doesn’t trade history for convenience — it’s the rare heritage hotel that’s also genuinely well-located. Worth booking even for one night if the budget allows.
2. Shangri-La Surabaya (Luxury)
It has a 4.4/5 rating from 1,076 TripAdvisor reviews, with rooms typically $73–111 a night.
Shangri-La brings the brand’s usual full-service polish to Surabaya, with an outdoor pool set in a tropical garden, three tennis courts, a proper spa and wellness center, and a buffet breakfast consistently mentioned by past guests as excellent. It’s a more contemporary alternative to Hotel Majapahit for travelers who want international five-star consistency over colonial-era atmosphere.

It’s a strong choice for business travelers and anyone wanting genuine resort-style amenities without leaving the city — the grounds and sports facilities are unusual for a hotel this central.
3. JW Marriott Hotel Surabaya (Luxury)
It has a 4.4/5 rating from 1,320 TripAdvisor reviews, with rooms typically $94–120 a night.
JW Marriott covers the international-chain end of the luxury market with five restaurants, an outdoor pool and a fitness center, all in a central city location. It’s built for business travelers and conferences as much as leisure guests, with the reliability that comes from a global brand.

It’s a solid, predictable pick if you’d rather have a known brand and full-service amenities than a boutique or heritage experience, and the range of on-site dining options is genuinely useful in a city where you might not always want to venture out for every meal.
4. Four Points by Sheraton Surabaya, Tunjungan Plaza (Mid-Range)
It has a 4.8/5 rating from 1,866 TripAdvisor reviews, with rooms typically $81–98 a night.
Four Points is directly attached to Tunjungan Plaza, one of the city’s largest shopping and dining complexes, which makes it exceptionally convenient for travelers who want shopping, restaurants and a cinema without stepping outside. Floor-to-ceiling windows and an outdoor pool round out a comfortable, no-surprises stay.

It’s a practical mid-range choice for travelers prioritizing location and convenience over character, and the mall connection alone makes it worth considering if shopping is part of the trip.
5. Hotel Santika Premiere Gubeng Surabaya (Mid-Range)
It has a 4.0/5 rating from 434 TripAdvisor reviews, with rooms typically $40–73 a night.
Santika Premiere Gubeng sits just a few minutes from both Gubeng train station and Tunjungan Plaza, making it one of the more practically located mid-range hotels in the city for travelers connecting onward by rail. It includes an outdoor pool, a gym and banquet facilities, covering the essentials of a solid business-style hotel.

It’s a dependable choice for travelers who want a real hotel experience — pool included — without the price tag of the international five-star brands nearby, and its train station proximity is a genuine advantage if Malang or elsewhere in Java is next on the itinerary.
6. Hotel Neo Gubeng (Budget)
It has a 4.0/5 rating from 262 TripAdvisor reviews, with rooms typically $15–53 a night.
Hotel Neo Gubeng covers the budget-to-mid range with modern, minimalist rooms and a straightforward, no-frills approach that consistently earns praise for comfort relative to price. Its Gubeng location keeps it close to the train station and the neighborhood’s local warungs.

It suits travelers who want a clean, reliable place to sleep without paying for amenities they won’t use, especially if Surabaya is a one- or two-night stopover rather than the main event.
7. Swiss-Belinn Tunjungan
Swiss-Belinn Tunjungan is a well-reviewed budget-to-mid hotel in central Surabaya, offering clean, straightforward rooms at a fraction of the international-brand price. It’s a more reliable pick than the city’s capsule-hotel options, with a much larger and more consistent base of guest reviews.
It has a 4.7/5 rating from 1,625 TripAdvisor reviews, with rooms typically $37–59 a night.

It’s about as practical as budget accommodation gets in central Surabaya — clean, efficient, and well-reviewed by a large base of past guests.
Which Hotel in Surabaya Is Best for You?
| Hotel | Price Category | Rating | Price | Best For |
|---|---|---|---|---|
| Hotel Majapahit Surabaya | Luxury | 4.7/5 (1,817) | $99–125 | Travelers wanting genuine colonial-era history |
| Shangri-La Surabaya | Luxury | 4.4/5 (1,076) | $73–111 | Business travelers wanting resort-style amenities |
| JW Marriott Hotel Surabaya | Luxury | 4.4/5 (1,320) | $94–120 | Travelers wanting a known international brand |
| Four Points by Sheraton Surabaya, Tunjungan Plaza | Mid-Range | 4.8/5 (1,866) | $81–98 | Shoppers wanting direct mall access |
| Hotel Santika Premiere Gubeng Surabaya | Mid-Range | 4.0/5 (434) | $40–73 | Travelers connecting onward by train |
| Hotel Neo Gubeng | Budget | 4.0/5 (262) | $15–53 | Practical, no-frills stopovers |
| Swiss-Belinn Tunjungan | Budget | 4.7/5 (1,625) | $37–59 | Budget travelers wanting a well-reviewed stay |
Best Area to Stay in Surabaya
For most visitors, Tunjungan is the most convenient area — central, well-connected, and close to the city’s main shopping, dining and historic landmarks. If you’re connecting onward by train, especially toward Malang, staying near Gubeng station saves time and hassle on travel days.
Travelers arriving or departing via Juanda International Airport with an early or late flight might prefer the MERR area for its easier airport access, while Darmo suits anyone prioritizing a quieter, more residential stay over central convenience.
How to Choose a Hotel in Surabaya
Start with how you’re using Surabaya. If it’s a genuine stopover before heading to Malang or Mount Bromo, prioritize proximity to Gubeng station or the airport over city-center atmosphere. If you’re spending a full day or two exploring the city’s colonial architecture and museums, staying centrally in Tunjungan makes more sense.
Business travelers will generally do best at the international chain hotels — Shangri-La, JW Marriott or Four Points — for reliable meeting facilities and service standards, while anyone wanting a genuinely memorable stay rather than a functional one should prioritize Hotel Majapahit over the modern towers around it.
How Much Does a Hotel in Surabaya Cost?
Surabaya spans a wide range, generally in line with other major Indonesian cities. Budget options like Swiss-Belinn Tunjungan and Hotel Neo Gubeng sit at the low end for travelers who mainly need a clean, well-located place to sleep. Mid-range hotels such as Four Points by Sheraton and Hotel Santika Premiere Gubeng occupy the middle of the market, adding real amenities without luxury pricing. At the top end, Hotel Majapahit, Shangri-La and JW Marriott represent genuine luxury, whether for the heritage value or full-service international standards.
As a major business city, Surabaya’s hotel rates can rise during large conferences or trade events, so it’s worth booking a little further ahead if your dates coincide with a major convention.
Getting to Your Hotel in Surabaya
Most travelers arrive via Juanda International Airport, with taxis, ride-hailing apps and hotel transfers all readily available for the trip into the city. If you’re continuing on to Malang, Gubeng train station is the most practical departure point, and it’s worth checking our Malang Travel Guide for what to expect on that leg of the trip. For more on getting around the wider region, see our Java Transport Guide.
FAQ About Hotels in Surabaya
What’s the best area to stay in Surabaya?
Tunjungan is the most central and convenient for sightseeing and shopping. Gubeng is best if you’re connecting onward by train, and MERR suits travelers prioritizing easy airport access.
Is Hotel Majapahit worth the price?
For most travelers, yes, at least for one night — it’s a genuinely historic property with real significance to Indonesian independence, not just a hotel styled to look old, and it’s centrally located rather than isolated.
Is Surabaya a good base for visiting Malang or Mount Bromo?
Surabaya is more commonly used as a gateway than a base — most travelers spend one or two nights here before continuing to Malang by train or car, or arranging a Mount Bromo tour from further along the route. See our best hotels in Malang guide for where to stay once you continue on.
Whichever hotel you choose, Surabaya rewards travelers who give it at least one proper day rather than rushing straight through — the mix of colonial history, food and a genuinely different, more local atmosphere than Bali or Yogyakarta is worth a stop in its own right. For more on planning the wider trip, see our Java Travel Guide and our notes for first-time visitors to Java.
Related guides: Things to Do in Surabaya: Best Places to Visit
Planning a wider Southeast Asia trip?
Vietnam With Me — practical Vietnam travel guides
Cambodia With Me — practical Cambodia travel guides
Siam With Me — Thailand travel guides
Singapore With Me — Singapore travel guides
Pingback: Things to Do in Surabaya: Best Places to Visit
Pingback: Surabaya Travel Guide: Where to Stay and What to Know