Kota Surabaya sendiri berada di antara 07° 9’ hingga 07° 21’ Lintang Selatan dan 112° 36’ hingga 112° 54’ Bujur Timur. Wilayahnya sebagian besar merupakan dataran rendah dengan ketinggian 3-6 meter di atas permukaan laut, kecuali di bagian selatan yang memiliki ketinggian 25-50 meter. Kota ini terbagi ke dalam 31 kecamatan dan 154 kelurahan. Kecamatan terbesar adalah Benowo dengan luas wilayah sekitar 23,73 km², sedangkan kecamatan terkecil adalah Simokerto dengan luas 2,59 km². Secara geografis, bagian utara dan timur Surabaya berbatasan dengan Selat Madura, bagian selatan berbatasan dengan Kabupaten Sidoarjo, dan bagian barat berbatasan dengan Kabupaten Gresik. Berdasarkan data dari Stasiun Meteorologi Juanda, suhu rata-rata di kota ini berkisar antara 26,07°C hingga 29,03°C. Curah hujan di Surabaya cukup tinggi sepanjang tahun, dengan puncaknya terjadi pada Januari 2021, mencapai 551,8 mm (Surabaya.go.id).