Transportation in Dunhuang
Dunhuang is served by China National Highway 215 and Dunhuang Airport,
A railway branch known as the Dunhuang Railway or the Liudun Railway, constructed in 2004-2006, connects Dunhuang with the Liugou Station on the Lanzhou-Xinjiang Railway (in Guazhou County). There is regular passenger service on the line, with overnight trains from Dunhuang to Lanzhou and Xi'an.
There are plans to extend the railway from Dunhuang further south into Qinghai, connecting Dunhuang to Golmud on the Qingzang Railway. Construction work on this Golmud–Dunhuang Railway started in October 2012, and is expected to be completed in 5 years.
By plane
Dunhuang Airport (IATA: DNH) is 13km east of town center. Flights are available to Beijing, Lanzhou, Urumqi, and Xian. Please note there is no taxi stand at this airport. If you can get your hotel to pick you up, please do so. There can be shuttle busses which arrive when planes come, but these can be full, resulting in a long wait (1 hour) for a vehicle if you're not prepared.
By train
Dunhuang Train Station is about 12km outside the town to the northeast. There is also a ticket agent in town, across the street from Dunhuang Hotel, which sells tickets for most trains. Note that the train connection to Dunhuang is relatively new.
Travel times and train numbers for departures from Dunhuang as of early 2008:
Jiayuguan - #7528, departing at 16:10, arriving at 21:49
Lanzhou - #N858, dep. 19:25, arr. 09:14
Xian - #K592, dep. 09:39, arr. 09:26
Yinchuan - #N854, dep. 14:30, arr. 08:27
By bus
Dunhuang has two bus stations diagonally across from each other. Most frequent buses leave from the main bus station and not the long distance bus station.
Golmud - takes about 15 hours
Hami - takes about 6 hours (daily 8:30,14:00 81 Yuan Apr 2013)
Jiayuguan - takes about 4-8 hours
Lanzhou - takes about 17-24 hours
Liuyuan - takes about 3 hours
Xining - takes about 20 hours
Zhangye - takes about 13 hours