Skip to main content

Cities Near Surabaya

Cities near Surabaya, Indonesia: 10 notable destinations within day-trip and weekend range, including Gresik, Sidoarjo, Mojokerto. Compare distance, drive time and flight time, with day-trip and getaway ideas.

The closest notable city to Surabaya, Indonesia is Gresik, about 9 mi (15 km) away — roughly 31 min by road. Below, 10 nearby cities are ranked by distance, with real drive and flight estimates and whether each works best as a day trip or an overnight getaway.

CityDistanceDriveFlightBest for
GresikPort and pilgrimage tombs9 mi / 15 km31 minDrive/railDay trip
SidoarjoShrimp ponds and the mud volcano14 mi / 22 km27 minDrive/railDay trip
MojokertoMajapahit-era ruins26 mi / 42 km51 minDrive/railDay trip
PasuruanMountains and an old town29 mi / 47 km57 minDrive/railDay trip
MalangCool colonial hill city51 mi / 82 km1 hr 32 minDrive/railDay trip
Lamongan25 mi / 40 km48 minDrive/railDay trip
Sampang34 mi / 54 km1 hr 1 minDrive/railDay trip
Jombang41 mi / 66 km1 hr 13 minDrive/railDay trip
Probolinggo47 mi / 76 km1 hr 25 minDrive/railDay trip
Pamekasan50 mi / 81 km1 hr 30 minDrive/railDay trip

Day trips from Surabaya

Within about 100 miles and easy to visit in a day: Gresik, Sidoarjo, Mojokerto, Pasuruan, Malang. These are close enough to go and return without an overnight stay.

Getting around

Nearby cities are usually quickest by car or train; for the longer hops a regional flight can save time. Tap any city above for its full distance, driving-time and flight-time breakdown, or plan a specific route with the tools below.

Frequently asked questions

Notable cities near Surabaya include Gresik, Sidoarjo, Mojokerto, Pasuruan, Malang. The closest is Gresik, about 9 miles (15 km) away. The table above lists each with its distance, drive time and best use.

More about Surabaya

Nearby city travel guides

Distances from Surabaya

Travel tools