How to reach Dharmshala by Air
Gaggal Airport (IATA: DHM) is at Gaggal near Kangra, a distance of 15 km from McLeodganj by road on MDR44 and NH20. The airport has been recently upgraded and provides twice daily flights from Delhi by Kingfisher. Air India does not operate flights to this airport. Air India however has flight upto Chandigarh which is about 8 hours by road from Dharamsala. Flights are prone to cancellation due to bad weather or because enough passengers didn’t show up, so leave some leeway for onward connections on the way out.
How to reach Dharmshala by bus
Most people come to Dharamsala by bus. It has good connections with other parts of North India, although the journeys are often slow due to the narrow winding roads in the hills. The main bus terminal is in Lower Dharamsala, but some public HRTC buses to Delhi and Pathankot go all the way to the main square of McLeod Ganj, where you can also book advance tickets for the return trip.
How to reach Dharmshala by train
The nearest broad gauge railhead is at Pathankot and the neighboring small station of Chakki Bank, a comfortable overnight journey from Delhi. Train buffs can continue on the very slow and rickety but pretty Kangra Valley Railway to Kangra, a journey that easily takes up to 6 hours and still leaves you 18 km from McLeod Ganj. Many travellers choose to continue by bus or taxi instead. If you do choose to go to Kangra then from the train station then you need to walk and autorickshaw to the bus stop where buses are available to take you to Dharamsala.
How to reach Dharmshala by taxi
A taxi from Pathankot to McLeod Ganj, a distance of 88 km, takes about 3 hours. Taxis from Delhi are often available leaving from Majnu Ki Tila Tibetan settlement in North Delhi on the ring road. Many people take a taxi to Delhi which takes about 10 hours.