Most travellers fly into Dunhuang Mogao International (DNH), 15 km east of town, with daily flights to Lanzhou, Xi'an, Beijing, Urumqi and Chengdu. Bus 12 runs from the airport to Shazhou Market East Gate in the centre for ¥3; a taxi is about ¥50–60, and the airport shuttle to the Sun Hotel costs ¥15. By train, Dunhuang Station is 13 km east of the centre with bus 12 (¥3) or a shared taxi (¥10 per seat) into town — many hostels and hotels offer free pick-up, so ask when you book. The alternative is Liuyuan Station, 130 km away on the main Lanzhou–Urumqi line, which has far more services; buses to Dunhuang cost ¥30 and shared taxis ¥40 per seat, but the last bus leaves around 19:00, so late arrivals should pre-book a car. Long-distance buses also connect Dunhuang to Jiayuguan, Lanzhou, Xining, Hami and Urumqi.
Inside Dunhuang, city buses are the cheapest option and there are only a handful of useful routes. Bus 3 goes to Mingsha Shan and Crescent Lake (¥1, 20 minutes, from the Pipa statue roundabout on Shazhou South Road). Bus 8 runs to the Mogao Caves (¥8, 30 minutes, departing from Dunhuang Hotel at Minshan South Road). Bus 12 links the city, bus station, train station and airport for ¥3. Everything else needs wheels: taxis are a flat ¥5 anywhere in the city, ¥10 to Mingsha Shan and ¥40 to Mogao (share for ¥10 a head). For the western line — Yumen Pass, Han Great Wall, Yardang — there is no public transport beyond two daily tourist buses (¥40 to Yangguan, ¥86 to Yardang, morning departure 07:30 and one afternoon run), so most visitors charter a car: roughly ¥400 for four people, ¥700 for six to eight, plus ¥100 if you add Yangguan. Bicycles can be rented at four points along Minshan Road, which is a pleasant way to reach Mingsha Shan on a cool evening.