Stasiun ini pada awalnya memiliki tiga jalur kereta api dengan jalur 2 merupakan sepur lurus. Setelah jalur ganda ruas Babat–Kandangan dioperasikan mulai awal Mei 2014,[4] jumlah jalurnya bertambah menjadi empat. Jalur 2 dijadikan sebagai sepur lurus untuk arah Surabaya, jalur 3 dijadikan sebagai sepur lurus hanya untuk arah Semarang, dan jalur 4 ditambahkan di sisi utara stasiun sebagai jalur belok baru. Selain itu, dilakukan perubahan sistem persinyalan dari sistem mekanik menjadi sistem persinyalan elektrik.
Sepur belok untuk pemberhentian kereta api ke arah barat
Dahulu ke arah barat stasiun ini, sebelum Stasiun Duduk, terdapat Stasiun Sumari yang kini sudah tidak aktif karena jaraknya yang terlalu dekat dengan Stasiun Duduk. Dari Stasiun Sumari, dahulu terdapat jalur cabang ke Stasiun Indro yang trase jalurnya melingkari perkotaan Gresik.
^Officieele Reisgids der Spoor en Tramwegen en Aansluitende Automobieldiensten op Java en Madoera. Staatsspoor en Tramwegen Particuliere Spoor en Tramweg-Maatschappijen. 1931. hlm. 168–171.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)