Gaggal Airport is at Gaggal near Kangra, a distance of 15 km from McLeodganj by road on MDR44 and NH20. Daily flights are available from New Delhi by air liners Spice Jet & Air India. One way ticket can be booked for around Rs. 4500 if booked few months in advance, tickets gets really expensive if you book nearer to the travel date. A taxi from the airport to McLeodganj should be Rs. 800-900. The trip will usually take 30-45 minutes.
Most people come to Dharamsala by bus as the nearest railhead is at Pathankot (Punjab) around 90 Kms away. It has good connections with other parts of Northern 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 Pathankotgo all the way to the main square of McLeod Ganj, where you can also book advance tickets for the return trip.
Buses from Pathankot cost around Rs 120 and take 4 hours to reach Dharamsala/McLeod Ganj. Once in Dharamsala, if your bus does not go all the way to McLeod Ganj, another bus can take you the rest of the way for 14 rs. 15-20 minutes.
Private bus companies are available for travel from Manali, Dehradun and Delhi. Overnight buses operate from New Delhi with many leaving from the Tibetan colony of Majnu ka Tilla. These services take upwards of 13 hr and cost from Rs 600 for a basic bus to Rs 1100 for a plusher Volvo. Tickets for Himachal Road Transport Corporation (HRTC- A State Government body) can be booked online at http://hrtc.gov.in/HRTCTickets/ Chandigarh, 236 km distant from McLeodganj, is a gruelling 8-9 hr trip in an ordinary bus.
The nearest broad gauge railhead is at Pathankot and he neighboring small station of Pathankot Cantt, 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 around 25 km from McLeod Ganj. Many travellers choose to continue from Pathankot towards Dharamsala by bus or taxi. If you do choose to travel to Kangra by train, then from the train station you will need to hire an autorickshaw to reach the bus stand where buses are available to take you to Dharamsala.
If coming by Pathankot station (PTK), the Pathankot bus station is just across from the railway with buses plying for Dharamsala. Pathankot Cantt (PTKC) is 3-4 kms from the bus stand / PTK station - rickshaws are aplenty. The 4 hour bus ride to Dharamsala costs 120 rs. per person. Once in Dharamsala, another bus can take you to McLeod Ganj for 14 rs. 15-20 minutes.