Kota Malang dilalui jalur kereta api Surabaya-Malang-Blitar-Kediri-Kertosono. Kereta api harian kelas ekonomi (Penataran) melayani jalur Surabaya-Malang via Bangil. Selain itu juga terdapat kereta api Gajayana (eksekutif) jurusan Malang-Jakarta, kereta api Malabar (eksekutif-bisnis-ekonomi) jurusan Malang-Bandung, kereta api Tawang Alun (ekonomi) jurusan Malang-Banyuwangi serta Matarmaja (ekonomi) juga dengan jurusan Malang-Jakarta(Pasar Senen),Kereta api Tumapel (ekonomi) jurusan Malang-Surabaya. Stasiun utama adalah Stasiun Malang (Kota Baru) (+444 M). 2 Stasiun lainnya adalah Stasiun Malang Kotalama (+429 M) dan Stasiun Blimbing (+471 M).

Untuk jalur bus, Terminal Arjosari melayani rute ke seluruh jurusan kota-kota utama di pulau Jawa, Bali, NTB dan Sumatera baik kelas ekonomi maupun eksekutif. Terminal Gadang melayani rute Malang-Lumajang, Malang-Blitar-Tulungagung-Trenggalek. Namun, saat ini keberadaan Terminal Gadang telah digantikan oleh Terminal Hamid Rusdi yang terletak kurang lebih 2 KM di sebelah timur Terminal Gadang. Sedangkan Terminal Landungsari melayani rute Malang-Kediri, Malang-Jombang dan Malang-Tuban.

Adapun 2 sub terminal lainnya adalah Sub-Terminal Madyopuro di bagian timur Kota Malang, tepatnya di daerah Madyopuro (dekat Sawojajar) dan Sub-Terminal Mulyorejo yang terlatak di sebelah barat daya Kota Malang, tepatnya di daerah Mulyorejo Kecamatan Sukun.

Kelima terminal ini terhubung dengan berbagai angkutan kota (biasa disebut angkot). Sebagai contoh, Arjosari-Gadang (AG) (saat ini huruf G diganti dengan huruf H untuk Hamid Rusdi), Hamid Rusdi-Landungsari (HL), Arjosari-Landungsari (AL), dan lain sebagainya termasuk juga dengan angkot yang menuju sub-terminal. Terdapat sekitar 20 trayek angkot di Kota Malang dan 80% wilayah Kota Malang dilalui oleh ke-20 angkot tersebut.

sumber: http://id.wikipedia.org/wiki/Kota_Malang