So you're planning your Shimla trip? No worries. I hope the following tips help you with your adventure.
Shimla is very well connected with New Delhi through the National Highway 44 and 5. You may either take a bus or a taxi from New Delhi and it should roughly take about 8 hours, one way. Himachal Tourism, a state run operator, runs a fleet of luxury buses that run all day long from two separate locations; Inter-State Bus Terminal at Kashmere Gate and Himachal Bhawan, New Delhi. The safest, most convenient way to book these is through the official booking portal http://hrtchp.com.
There is a plethora of taxi operators that service Shimla too. To make things convenient, ask your host/hotel for their recommendations on taxi service providers or else book from a range of online taxi providers. Go for the one's that offer the taxi/driver ratings. Self driving car rental scene is currently new to India, but is slowly picking up pace. Lastly, there are a number of rental motorcycle providers that operate out of the Old Delhi area too.
Protip: If booking a taxi via travel operator, first check the price online and then negotiate for a best price with the operator. I've found online service providers to be generally the cheaper option.
To reach Shimla via train you would first have to travel to the city of Kalka, about 4.5 hours away from New Delhi, via train. There are 5 trains that operate from New Delhi railway station, out of which Kalka Shatabadi Express is the fastest and most convenient option (better than road travel). The train route from Kalka to Shimla takes roughly about 5 hours and is one the best parts of this journey. It is served by 5 different narrow-gauge trains and the route is currently listed under the Unesco World Heritage Sites of India. Its best to book your train tickets through the official online booking portal https://www.irctc.co.in.
Protip: While searching Shimla as your destination on the online booking portal, type Simla and not Shimla. Some governmental offices still use the old British era spellings.
The Indian National carrier, Air India runs daily flights from New Delhi airport to Shimla airport. If you're lucky and early to catch, there are a few very cheap subsidized seats available on a first come first served basis. Otherwise, the prices generally are on the expensive side, considering the other modes of transportation choices that are available. Shimla airport is situated outside of the Shimla city and it takes about an hours drive to reach there. Public transport options from the airport to Shimla city are not that frequent and taxi's can get relatively expensive. Its best to arrange for a pick-up prior reaching the airport, to avoid last minute frustrations. Again, consult with your host or look at the online taxi booking options, prior to arrival.
Protip: Pawan Hans, which is a national helicopter carrier, also runs relatively cheap helicopter flights between Chandigarh and Shimla every Monday and Friday of the week. You may book these on their official page http://www.pawanhans.co.in/. You may even take a flight from New Delhi to Chandigarh and then fly over to Shimla using the helicopter service. This would probably be the fastest option to reach here and would save you a lot of train/road travel.
If you're a foreign national visiting India, it would be of great help if you can arrange for a local Indian mobile number. The best place to look for one is New Delhi (or any other tier 1 cities). Best would be to buy a prepaid sim card and then refill it with myriad of talktime/internet options available. A local Indian number is a pre-requisite in most of the above mentioned booking options.
Hope this helps. I will soon follow up with other tips including, things to do in Shimla, where to live and other cities/areas to venture near Shimla, etc.