The nearest airport is Gaggal Airport (Dharamsala Airport/DHM) in Kangra, about 15 kilometres from McLeod Ganj — a small airport with direct flights from Delhi, Mumbai, and a few other Indian cities. Flights are convenient but limited in frequency; book early, especially in the spring and autumn seasons.
By train, the nearest major station is Pathankot (about 90 kilometres away), connected to Delhi and Jammu. From Pathankot, the narrow-gauge Kangra Valley Railway runs a slow and scenic route to Kangra (about 2 hours), from where buses connect to Dharamsala. Most travellers coming by train from Delhi take the overnight train to Pathankot and then a taxi or bus from there.
By bus, Dharamsala is well connected to Delhi (10–12 hours), Chandigarh (6 hours), and Manali. HRTC (Himachal Road Transport Corporation) runs regular state buses; private operators offer sleeper coaches on the Delhi route. Local buses run between Lower Dharamsala and McLeod Ganj frequently (about 20 minutes, very cheap).