The average train between Indore and Shivpuri takes 8h and the fastest train takes 6h 56m. The train service runs several times per day from Indore to Shivpuri. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run 3 times a day between Indore and Shivpuri. The earliest departure is at 6:40 AM in the morning, and the last departure from Indore is at 9:15 PM which arrives into Shivpuri at 4:11 AM. All services require a transfer, and take on average 8h. The schedules shown below are for the next available departures.

6h 58m • 1 change

9h 13m • 1 change
Arrives next day

7h 8m • 1 change
Arrives next day

8h 26m • 1 change

7h 38m • 1 change

7h 54m • 1 change
Arrives next day

8h 41m • 1 change
Want to know about travelling from Indore to Shivpuri? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Indore to Shivpuri. However, there are services departing from Indore station and arriving at Shivpuri station via Maksi. The journey, including transfers, takes approximately 8h.
Indore to Shivpuri train services, operated by Indian Railways, depart from Indore Jn Bg station.
Indore to Shivpuri train services, operated by Indian Railways, arrive at Shivpuri station.
The distance between Indore and Shivpuri is 353.5 km. The road distance is 392 km.
You can take a train from Indore Jn Bg to Shivpuri via Maksi in around 7h 9m.