Secara geografis Kota Madiun terletak pada 111° BT - 112° BT dan 7° LS - 8° LS dan berbatasan langsung dengan Kabupaten Madiun di sebelah utara, sebelah selatan dengan Kecamatan Geger, sebelah timur dengan Kecamatan Wungu, dan sebelah barat dengan Kabupaten Magetan. Kota Madiun hampir berbatasan sepenuhnya dengan Kabupaten Madiun, serta dengan Kabupaten Magetan di sebelah Barat. Kali Bengawan Madiun mengalir di kota ini, merupakan salah satu anak sungai terbesar Bengawan Solo.
Wilayah Kota Madiun mempunyai luas 33,23 Km² terbagi menjadi 3 (tiga) kecamatan yaitu Kecamatan Manguharjo,Kecamatan Taman, dan Kecamatan Kartoharjo. Dengan luas masing-masing Kecamatan Manguharjo 12,54 Km², Kecamatan Taman 13,46 Km²,dan Kecamatan Kartoharjo 11,73 Km². Masing-masing kecamatan tersebut terdiri atas 9 kelurahan sehingga semuanya terdapat 27 kelurahan di Kota Madiun.
Kota Madiun terletak pada daratan dengan ketinggian 63 meter hingga 67 meter dari permukaan air laut. Daratan dengan ketinggian 63 meter dari permukaan air laut terletak di tengah, sedangkan daratan dengan ketinggian 67 meter dari permukaan air laut terletak di sebelah di selatan. Rentang temperatur udara antara 20 °C hingga 35 °C. Rata-rata curah hujan Kota Madiun turun dari 210 mm pada tahun 2006 menjadi 162 mm pada tahun 2007. Rata-rata curah hujan tinggi terjadi pada bulan-bulan di awal tahun dan akhir tahun, sedangkan rata-rata curah hujan rendah terjadi pada pertengahan tahun.