The distance between Delhi and Shimla is approximately 343 km, and it takes around 7-8 hours to reach by road.
You can take a taxi, bus or self-drive from Delhi to Shimla. The road journey is quite scenic, and you will pass through beautiful hills and valleys.
There are several trains that run between Delhi and Shimla, but the best option is to take the Kalka-Shimla toy train.
The toy train is a UNESCO World Heritage Site and takes you through some of the most stunning landscapes of the region.
The train journey takes around 5-6 hours to reach Shimla.
The nearest airport to Shimla is Jubbarhatti Airport, which is around 22 km from the city center.
However, the airport has limited connectivity, and the flights are often irregular.
Alternatively, you can take a flight to Chandigarh Airport, which is around 116 km from Shimla. From there, you can take a taxi or bus to Shimla.
Overall, the best way to reach Shimla from Delhi is by road or by train. The Kalka-Shimla toy train is an iconic experience and should not be missed if you have the time.