Delhi to Shimla distance by road is 306 km from ISBT Kashmiri Gate to ISBT Shimla. You would reach Shimla in 8 hours maximum traveling by bus/car on this road. Traveling by own vehicle may reduce the time if you are not taking too many halts. Delhi to Shimla road is four-lane and well maintained. Sonipat, Panipat, Karnal, Kurukshetra, Ambala, Derabassi, Zirkarpur, Old Panchkula, Pinjore bypass, Dharampur, Barog, Solan, Kandaghat, and Shoghi are the places fall on the way to Shimla by road.
You would cross NH 44, NH 152 and NH 5 to go-ahead to Shimla from Delhi. Delhi to Ambala is national highway 44. National highway 152 starts from Ambala to Zirkapur and from Zirkapur onwards is national highway 5.
You will enter Haryana after reaching Sonipat. You can have a stopover for the meal at Karnal. Next place on this road is Kurukshetra where the Mahabharat war took place. Drive straight to Ambala to reach Shimla. You would cross three toll plaza between Delhi and Ambala. This part in national highway 44.
Ambala is 35 km away from Zirakpur. You would travel through national highway 152. It is a four-lane highway so it would not take much time to reach Zirakpur. There is one toll between Ambala and Zirkapur.
After Pinjore bypass hilly terrain of this road would start on national highway 5. You can switch off you’re a/c to enjoy the weather outside. There are many small Dhabas to have the food. Haveli the famous Punjabi restaurant is at Dharampur to enjoy Punjabi dishes. Further, two consecutive stations are Barog and Solan. Here you can stop for a tea break. After traveling half an hour from Solan you would reach Kandaghat from where Shimla is just 1 hour away. Stations in between are Vaknaghat and Shoghi. This is national highway 5 after Zirakpur. There is one toll on this section.