Surabaya is Indonesia's second-largest city, a sprawling port metropolis on the northern coast of East Java that earned the nickname City of Heroes for its fierce resistance during the 1945 independence struggle. This isn't Bali's polished tourism machine. Instead, you get the real pulse of urban Java: colonial-era neighborhoods where Dutch architecture crumbles beautifully alongside Chinese temples, a decommissioned Russian submarine parked downtown, and street-food stalls dishing out rawon, the dark and earthy beef soup that locals consider the city's signature comfort meal. Surabaya also serves as the primary gateway to Mount Bromo, Ijen Crater, and the traditional bull-racing culture of neighboring Madura Island.
Your ideal window runs from mid-June through mid-October, when Surabaya's dry season keeps rain to a minimum and outdoor exploration is at its most comfortable. July and August are the driest months, with rain on roughly 2% of days, making them perfect for wandering the Old Town district, visiting the Kenjeran coastline, or crossing the Suramadu Bridge to catch the Karapan Sapi bull races on Madura Island, which run from about August through October. September stays nearly as dry and slightly less crowded than the July peak. If you'd rather avoid the highest visitor numbers, late June or September offers the same excellent weather with a bit more breathing room at major sites like the Heroes Monument and House of Sampoerna.
Fall in Surabaya, Indonesia
September still carries the dry season's momentum, with rain chances hovering around just 3%. It's one of the best months for a day trip across the Suramadu Bridge to Madura Island, where the Karapan Sapi bull-racing season is in full swing. These centuries-old races see pairs of decorated bulls sprint down dusty 130-meter tracks to the sound of traditional gamelan instruments, with district elimination rounds running on weekends throughout the island. The grand final for the Presidential Cup typically takes place in Pamekasan in late September or October, drawing huge crowds. Highs average 91.6°F (33.1°C) during these months, so bring a wide-brimmed hat and plenty of water if you're spending the day at the races.
By mid-October, the weather shifts. This is when Surabaya hits its peak heat, with highs climbing to 95.5°F (35.3°C) and overnight lows around 78°F (25.6°C). Humidity also begins creeping back up, and by November, rain chances jump to 18%, signaling the wet season's approach. November 10 is Heroes Day, commemorating the 1945 Battle of Surabaya. The city marks it with ceremonies at the Heroes Monument, and the 10 November Museum beneath the 41-meter obelisk is especially worth visiting during this period. Lows across the season average 77.1°F (25.1°C), so even nights offer little relief from the warmth; lightweight, breathable clothing is essential.
Tourism volume stays moderate through fall, and accommodation deals are easier to find compared to the July and December peaks. This makes it a solid window for exploring the Old Town's colonial-era buildings and the Chinatown district along Kembang Jepun Street without fighting crowds. Plan outdoor activities for early morning or late afternoon to dodge the worst of the midday heat.
Winter in Surabaya, Indonesia
December through February is Surabaya's wet season, and January is the wettest month, with significant rain on roughly 48% of days. Heavy afternoon downpours are common, and the humidity pushes well above 74%. That said, mornings often start dry, giving you a window to explore indoor attractions like the House of Sampoerna, a preserved Dutch colonial building that doubles as a kretek (clove cigarette) museum and working factory. The adjacent cafe makes a good rainy-day retreat. Highs still average 91.2°F (32.9°C), so the rain doesn't bring cool relief; it just adds steaminess to the heat.
December sees a surge in domestic visitors, making it the second-busiest month of the year, and accommodation prices rise accordingly. The New Year's holiday and school breaks drive this spike. February, by contrast, is the quietest month across the entire calendar, which means thinner crowds at places like the Al-Akbar Mosque, where you can ride an elevator to the top of the minaret for panoramic city views. Lows average 74.9°F (23.9°C), and the combination of heat and moisture makes air-conditioned malls like Tunjungan Plaza a practical daytime escape.
If you do visit during these months, ride-hailing apps like Gojek and Grab are your best friends for getting between attractions without getting soaked. Pack a compact umbrella and quick-dry clothing. Street food is still very much alive during the rainy season; the warungs serving rawon, rujak cingur, and lontong balap keep their stoves running year-round, and slurping a bowl of that rich dark beef broth feels even more satisfying when rain drums on a tin roof overhead.
Spring in Surabaya, Indonesia
March and April still carry lingering wet-season moisture, with rain on roughly 38% and 23% of days respectively. But by May the skies clear dramatically, rain dropping to about 16%, and the city begins its transition into dry season mode. This is when Surabaya typically celebrates its city anniversary with the Surabaya Vaganza, a cultural parade featuring decorated floats, traditional Javanese dance, and elaborate costumes that wind through the main streets. It's one of the more colorful events on the local calendar. Highs across the season average 94.1°F (34.5°C), making spring the hottest stretch on paper; plan sightseeing for early mornings when temperatures are closer to the 76.8°F (24.9°C) seasonal low.
Visitor numbers pick up through spring, making it the second-busiest season. Accommodation costs inch higher but remain below December's peak. This is a good time to explore the Wonorejo Mangrove Forest on the city's eastern edge, where a long boardwalk threads through the trees and birdwatching is best in the cooler morning hours. The Submarine Monument, a decommissioned Soviet-era warship parked in downtown Surabaya, is another worthwhile stop, particularly if you want to squeeze through torpedo rooms and learn about Indonesia's naval history without fighting summer-season crowds.
Labour Day in early May and Ascension Day (which shifts annually) are public holidays that can affect opening hours at government offices and some smaller shops, though major tourist sites stay open. Humidity starts to ease as the weeks pass, dropping from the mid-70s in March toward the high 60s by late May. Pack light layers for heavily air-conditioned malls and restaurants, but outdoors, you'll want the thinnest, most breathable fabrics you own.
Summer in Surabaya, Indonesia
June through August is Surabaya at its most comfortable, and the numbers tell the story. July and August see rain on just 2% of days, making them the driest months of the year. Humidity drops to its annual low by August, settling around 58.6%, which is a noticeable improvement over the soupy 75% of the wet season. This is prime time for outdoor adventures: catch a sunrise at Kenjeran Beach, stroll through Bungkul Park's food stalls and skatepark in the evening cool, or use Surabaya as a base for multi-day trips to Mount Bromo's volcanic landscape and the electric-blue sulfur flames of Ijen Crater.
Highs average 90.7°F (32.6°C) and lows sit around 76.5°F (24.7°C), warm but manageable when the air isn't heavy with moisture. A light breeze picks up through August, the windiest month, adding a welcome edge to evenings spent along the waterfront or at G-Walk Citraland, a popular outdoor food street lined with trendy cafes and local vendors grilling sate klopo, the coconut-flake satay that's a Surabaya original. Independence Day falls on August 17 and brings flag-waving celebrations, community events, and a festive atmosphere across the city.
July is the busiest month for tourism, so book accommodation in advance if you're planning a mid-year visit. June and late August offer nearly identical weather with slightly thinner crowds. The Arab Quarter near Ampel Mosque is worth exploring any time of year, but during the dry season you can linger in the narrow lanes around the 15th-century mosque, browsing spice shops and sampling Middle Eastern-influenced snacks, without worrying about a sudden downpour cutting the walk short.
At a Glance
Monthly weather, visitor crowds, air quality, holidays, and daylight hours to help you plan your trip.
Travel Tips & Safety for Surabaya, Indonesia
Juanda International Airport connects Surabaya to major domestic hubs and several international cities. From the airport, the city center is about 30 to 45 minutes by car. Within the city, ride-hailing apps Gojek and Grab are the most convenient way to get around, offering both car and motorbike options. For longer journeys, Gubeng and Pasar Turi train stations link Surabaya to Yogyakarta, Jakarta, and other Javanese cities, and the Purabaya bus terminal runs routes across Java and on to Bali.
Surabaya's tropical heat is relentless year-round, so carry water, wear sun protection, and schedule outdoor time for mornings and late afternoons. Street food is central to the experience here; stick to vendors with high turnover and freshly cooked dishes. Traffic can be intense, especially during rush hours, so allow extra time when heading to the train station or airport. Keep valuables secured in crowded markets like Pasar Atom, and use registered taxis or app-based rides rather than unmarked vehicles after dark.