Transportasi kota Surabaya juga terhubung oleh layanan kereta api dan komuter rute Surabaya – Sidoarjo. Jaringan rel kereta api di Surabaya, yang dikelola oleh Daerah Operasi VIII, merupakan pusat dari jaringan kereta api di wilayah Timur Jawa. Dari berbagai stasiun di Surabaya, yaitu Stasiun Kota, Stasiun Pasar Turi, Stasiun Gubeng, dan Stasiun Wonokromo, jaringan rel kereta api tersebar ke seluruh Jawa Timur, serta menghubungkan Surabaya dengan Jakarta melalui jalur Pantura dan Selatan, dan juga dengan Bandung. Selain itu, jaringan ini juga menjadi bagian dari rute angkutan barang dengan kereta api yang menghubungkan Banyuwangi, Surabaya, Jakarta, hingga Cilegon.
Di dalam kota Surabaya sendiri terdapat tujuh stasiun kereta api:
- Stasiun Pasar Turi
- Stasiun Tandes
- Stasiun Kandangan
- Stasiun Benowo
- Stasiun Surabaya Kota/ Semut
- Stasiun Gubeng
- Stasiun Wonokromo
Untuk mendukung operasional kereta api komuter yang melayani rute Surabaya – Sidoarjo, telah dibangun empat shelter di wilayah Kota Surabaya, yaitu:
- Ngagel
- Margosari
- Jemursari
- Menanggal