Surakarta semakin berkembang ketika Amangkurat II memindahkan ibukota Kerajaan Mataram selepas jatuhnya Kedhaton di Pleret ke Kartasura (5 km sebelah barat Kota Solo) pada tahun 1680. Kekuasaan Mataram kemudian diteruskan oleh Kasunanan Surakarta dan Pura Mangkunegaran hasil perjajian Giyanti 1755 dan Perjanjian Salatiga 1757. Di era Kasunanan Surakarta dan Kadipaten Mangkunegaran inilah perkeretapian berkembang pesat.
Sebagai kota yang sudah maju pada waktu itu, kolonial Belanda bermaksud membuat jalur kereta api dari Semarang-Surakarta-Yogyakarta untuk memudahkan pengangkutan barang dan jasa dari Solo dan Yogyakarta ke Semarang kemudian diekspor ke luar negeri. Jalur ini menghubungkan pelabuhan dengan Vorstenlanden (wilayah kerajaan) yang kaya akan sumberdaya.
Sejarah perkeretaapian dimulai pada 10 Agustus 1867 ketika dibuka jalur Samarang-Tangoeng kemudian diteruskan ke selatan hingga Stasiun Lempuyangan yang dibuka pada 2 Maret 1872. Sehingga, bisa dikatakan Kota Solo adalah salah satu kota pertama di Indonesia yang dibangun jalur kereta api. Sebelum zaman kemerdekaan tercatat 3 perusahaan kereta api di Solo yaitu Nederlandsch-Indische Spoorweg Maatschappij (NIS), Staatspoorwegen (SS), dan Solosche Tramweg Maatschappij (SoTM) serta pada zaman setelah kemerdekaan bekas jalurnya dioperasikan oleh Djawatan Kereta Api (DKA) sampai bertransformasi menjadi PT. KAI di era sekarang. Pembahasan kali ini akan difokuskan pada perusahaan di era Hindia Belanda.
- Nederlandsch-Indische Spoorweg Maatschappij (NIS)
NIS merupakan perusahaan swasta perkeretaapian tertua di Indonesia yang mulai mengoperasikan jalur Samarang-Tanggung pada 10 Agustus 1867 yang kemudian diperpanjang hingga Solo dan Yogyakarta. Di Kota Solo, stasiun yang dibangun oleh NIS adalah Solobalapan (dibuka 21 Mei 1873) serta Stasiun Purwosari yang dibuka bersamaan dengan Stasiun Balapan.
Pada tahun 1911 NIS mengakuisisi SoTM yang mengalami kebangkrutan, sehingga NIS selain mengoperasikan jalur Semarang-Solo-Yogyakarta juga mengoperasikan jalur Sunggingan-Boyolali-Purwosari-Benteng Vastenburg-Jebres. Pada tahun 1922 NIS mengembangkan jalur dari Stasiun Solokota (Sangkrah) hingga Wonogiri dan dikembangkan hingga ke Baturetno pada tahun 1923. Pada tahun 1922 pula jalur Gladak-Jebres ditutup karena NIS lebih fokus di lintas Purwosari-Baturetno. Saat ini, jalur lintas Purwosari-Solokota-Wonogiri masih beroperasi dengan dilayani oleh KA Bathara Kresna sedangkan jalur lintas Wonogiri-Baturetno ditutup 1 Mei 1978 karena dibangunnya Waduk Serbaguna Gajah Mungkur.
- Staatspoorwegen (SS)
Staaspoorwegen adalah perusahaan kereta api milik pemerintah Hindia Belanda atau bisa dikatakan sebagai BUMN-nya pemerintah kolonial. Pemerintah kolonial membentuk SS pada 21 Mei 1873 untuk mengevaluasi jalur yang telah dibangun oleh NIS karena berkali-kali NIS diambang kebangkrutan. Lintas yang dibangun oleh SS yaitu Buitenzorg (Bogor)-Bandung-Banjar-Kroya-Yogyakarta-Solo-Madiun-Surabaya-Pasuruan-Malang. Di Kota Solo sendiri SS berbagi ruang stasiun dengan SS terutama di Stasiun Balapan yang mana peron selatan digunakan oleh NIS sedangkan peron utara digunakan oleh SS. Hal ini menyebabkan jalur Yogyakarta-Solo sudah double track sejak era Hindia Belnda yang mana sisi rel barat milik SS dan rel sisi timur milik NIS. Sayangnya rel milik SS dicabut oleh di zaman pendudukan Jepang untuk membangun rel kereta api di Birma (Myanmar sekarang). PT. KAI kemudian membangun kembali double track pada tahun 2006 (dibuka tahun 2007) untuk mengimbangi ramainya perjalanan lintas Solo-Yogyakarta. Stasiun di Solo yang dibangun oleh SS adalah Stasiun Jebres yang dibuka pada 24 Mei 1884.
Salah satu hal unik tentang stasiun Jebres adalah kode stasiunnya yaitu “SK” yang merupakan kependekan dari Solo Kraton. Hal ini dikarenakan apabila Sinuwun Pakubuwono (Raja Kasunanan Solo) ingin bepergian ke luar kota biasanya menggunakan stasiun ini, serta terdapat ruang tunggu khusus raja di lantai dua stasiun.
- Solosche Tramweg Maatschappij (SoTM)
SoTM perusahaan kereta api swasta yang mulai membangun jalur pada tahun 1890 dan dioperasikan tahun 1892 untuk lintas Pasar Gede-Pasar Kartasura sebagai dua pasar terbesar waktu itu. Salah satu hal unik dari SoTM adalah menggunakan kereta yang ditarik 4 kuda yang mana setiap 4 km kuda tersebut diganti untuk menghindari kelelahan. Sehingga SoTM ini literally menggunakan kereta kuda.
SoTM secara keseluruhan membangun jalur lintas Chinesische of Rhuis (Pecinan) Jebres-Warung Pelem-Pasar Gede-Benteng Vastenburg (Gladak)-Purwosari-Boyolali-Sunggingan yang mana yang tersisa beroperasi saat ini hanya lintas Gladak-Purwosari yang sangat terkenal karena menjadi satu-satunya jalur kereta api yang berdampingan dengan jalan protokol.
Nasib jalur eks-SoTM cukup mengenaskan, beberapa lintas yang sudah ditutup antara lain Jebres Gladak (1922), Boyolali-Sunggingan (zaman pendudukan Jepang), Kartasura-Boyolali (1947/1948) dan Purwosari-Kartasura (1974) karena berbagai alasan. Bahkan saat ini bangunan stasiun Sunggingan dan Boyolali termasuk halte pemberhentian di antara dua stasiun tersebut sudah tidak berbekas, hanya Stasiun Kartasura yang masih dapat dijumpai dan telah beralih fungsi menjadi Warung Sate.
SoTM dalam 3 tahun pengoperasiannya pada tahun 1895 sudah berniat mengganti kuda dengan lokomotif uap, diperparah dengan banyaknya kuda penarik yang terjangkit penyakit pada tahun 1899. Akhirnya tahun 1906 terwujudlah keinginan SoTM untuk mengganti kuda penarik menjadi lokomotif uap. Tidak lama setelahnya tepatnya pada tahun 1911 SoTM bangkrut lalu diakuisisi oleh NIS.