There are 8 ways to get from Shanghai to Dunhuang by plane, train, bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly from Shanghai Hongqiao International Airport
best- Fly from Shanghai Hongqiao International Airport (SHA) to Dunhuang (DNH)plane SHA - DNH
7h 54m¥2,405–4,705Train
cheapest- Take the train from Shanghai station to Jiayuguantrain Shanghai
- Take the train from Jiayuguan to Dunhuangtrain Lanzhou
35h 37m¥304–796Bus, train
- Take the bus from Shanghai to Yinchuan Nanmen Stationbus
- Take the bus from Yinchuan Nanmen Station to Lanzhoubus
- Take the train from Lanzhou to Jiuquantrain
- Take the bus from Jiuquan to Dunhuangbus
2d 3h¥907–1,143Drive 3,031.5 km
- Drive from Shanghai to Dunhuangcar 3,031.5 km
30h 39m¥2,551–3,685Fly from Shanghai Pudong International Airport
- Fly from Shanghai Pudong International Airport (PVG) to Dunhuang (DNH)plane PVG - DNH
6h 41m¥1,855–2,955Train to Hangzhou Xiaoshan International Airport, fly
- Take the train from Shanghai Hongqiao to Hangzhou Easttrain
- Fly from Hangzhou Xiaoshan International Airport (HGH) to Dunhuang (DNH)plane HGH - DNH
8h 9m¥2,677–6,144Train to Nanjing Lukou International Airport, fly
- Take the train from Shanghai station to Nanjing South Stationtrain
- Fly from Nanjing Lukou International Airport (NKG) to Dunhuang (DNH)plane NKG - DNH
9h 1m¥2,314–4,529Train via Gongchang
- Take the train from Shanghai station to Longxitrain Shanghai
- Take the train from Longxi to Dunhuangtrain Xi'an
44h 35m¥333–787
Shanghai Hongqiao International Airport (SHA) to Dunhuang (DNH) flights
Comparing Your Travel Options
The cheapest way to get from Shanghai to Dunhuang is to train which costs ¥300 - ¥800 and takes 35h 37m.
The fastest way to get from Shanghai to Dunhuang is to fly which takes 6h 41m and costs ¥1800 - ¥3000.
No, there is no direct train from Shanghai station to Dunhuang. However, there are services departing from Shanghai station and arriving at Dunhuang via Jiayuguan. The journey, including transfers, takes approximately 35h 37m.
The distance between Shanghai and Dunhuang is 2611 km. The road distance is 3031.5 km.
The best way to get from Shanghai to Dunhuang without a car is to train which takes 35h 37m and costs ¥300 - ¥800.
It takes approximately 7h 54m to get from Shanghai to Dunhuang, including transfers.
Shanghai to Dunhuang train services, operated by China Railways Z-Class, depart from Shanghai station.
The best way to get from Shanghai to Dunhuang is to fly which takes 7h 54m and costs ¥2400 - ¥4800. Alternatively, you can train, which costs ¥300 - ¥800 and takes 35h 37m.
Shanghai to Dunhuang train services, operated by China Railways Z-Class, arrive at Jiayuguan station.
Yes, the driving distance between Shanghai to Dunhuang is 3032 km. It takes approximately 30h 39m to drive from Shanghai to Dunhuang.
What companies run services between Shanghai, China and Dunhuang, China?
China Eastern Airlines, Juneyao Airlines, and three other airlines fly from Shanghai Hongqiao International Airport (SHA) to Dunhuang (DNH) 5 times a day. Alternatively, you can take a train from Shanghai station to Dunhuang Bus Station via Jiayuguan, Dunhuang, and Dunhuang train station in around 35h 37m.
- Website
- en.ceair.com
Flights from Shanghai Hongqiao International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 6h
- When
- Every day
- Estimated price
- ¥3,000–7,000
Flights from Shanghai Hongqiao International Airport to Dunhuang via Xi An
- Ave. Duration
- 6h 35m
- When
- Every day
- Estimated price
- ¥3,000–7,000
Flights from Shanghai Hongqiao International Airport to Dunhuang via Tianfu International
- Ave. Duration
- 6h 45m
- When
- Thursday to Saturday
- Estimated price
- ¥1,000–3,200
Flights from Shanghai Pudong International Airport to Dunhuang
- Ave. Duration
- 4h 30m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- ¥2,700–6,000
Flights from Shanghai Pudong International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 7h 40m
- When
- Every day
- Estimated price
- ¥2,700–8,000
Flights from Shanghai Pudong International Airport to Dunhuang via Xi An
- Ave. Duration
- 6h 20m
- When
- Every day
- Estimated price
- ¥2,700–6,000
Flights from Hangzhou Xiaoshan International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 5h 45m
- When
- Thursday and Sunday
- Estimated price
- ¥3,500–8,000
Flights from Hangzhou Xiaoshan International Airport to Dunhuang via Xi An
- Ave. Duration
- 6h 55m
- When
- Every day
- Estimated price
- ¥3,500–8,000
Flights from Hangzhou Xiaoshan International Airport to Dunhuang via Shanghai Pudong International Airport
- Ave. Duration
- 7h 40m
- When
- Tuesday and Thursday
- Estimated price
- ¥3,700–8,500
Flights from Nanjing Lukou International Airport to Dunhuang via Xi An
- Ave. Duration
- 6h 32m
- When
- Every day
- Estimated price
- ¥2,800–6,500
Flights from Nanjing Lukou International Airport to Dunhuang via Tianfu International
- Ave. Duration
- 6h 55m
- When
- Thursday to Saturday
- Estimated price
- ¥2,300–5,000
Flights from Nanjing Lukou International Airport to Dunhuang via Shanghai Pudong International Airport
- Ave. Duration
- 6h 55m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- ¥3,200–7,000
Flights from Nanjing Lukou International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 7h 50m
- When
- Every day
- Estimated price
- ¥2,800–6,500
- Website
- airchina.com
Flights from Shanghai Hongqiao International Airport to Dunhuang via Beijing Capital
- Ave. Duration
- 9h 25m
- When
- Every day
- Estimated price
- ¥2,700–4,800
Flights from Hangzhou Xiaoshan International Airport to Dunhuang
- Ave. Duration
- 4h
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- ¥3,700–4,800
Flights from Nanjing Lukou International Airport to Dunhuang via Beijing Capital
- Ave. Duration
- 6h 25m
- When
- Every day
- Estimated price
- ¥3,400–4,100
- Website
- shenzhenair.com
Flights from Hangzhou Xiaoshan International Airport to Dunhuang
- Ave. Duration
- 4h
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- ¥3,700–4,800
Flights from Nanjing Lukou International Airport to Dunhuang via Beijing Capital
- Ave. Duration
- 6h 25m
- When
- Every day
- Estimated price
- ¥3,400–4,100
Flights from Nanjing Lukou International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 9h 30m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- ¥2,600–7,000
- Website
- ch.com
Flights from Shanghai Hongqiao International Airport to Dunhuang via Tianfu International
- Ave. Duration
- 6h 45m
- When
- Thursday to Saturday
- Estimated price
- ¥1,000–3,200
Flights from Hangzhou Xiaoshan International Airport to Dunhuang via Lanzhou
- Ave. Duration
- 5h 55m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- ¥2,600–6,000
- Website
- cdal.com.cn
Flights from Shanghai Hongqiao International Airport to Dunhuang via Chengdu
- Ave. Duration
- 6h 40m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- ¥3,400–7,500
Train from Shanghai station to Jiayuguan
- Hard Seat
- ¥250–360
- Hard Sleeper
- ¥550–700
- Soft Sleeper
- ¥750–1,100
Train from Longxi to Dunhuang
- Hard Seat
- ¥130–190
- Hard Sleeper
- ¥270–310
- Soft Sleeper
- ¥390–550
Train from Jiayuguan to Dunhuang
- Hard Seat
- ¥45–60
- Hard sleeper
- ¥85–120
- Soft sleeper
- ¥140–190
Train from Shanghai station to Longxi
- Hard Seat
- ¥190–260
- Hard sleeper
- ¥340–470
- Soft sleeper
- ¥550–750
Train from Lanzhou to Jiuquan
- Ave. Duration
- 8h 8m
- Frequency
- Once daily
- Estimated price
- ¥80–221
- Schedules at
- chinahighlights.com
- Hard/Soft Seat
- ¥80–120
- Hard Sleeper
- ¥170–210
- Soft Sleeper
- ¥270–340
Train from Shanghai Hongqiao to Hangzhou East
- Ave. Duration
- 59 min
- Frequency
- Every 15 minutes
- Estimated price
- ¥70–80
- Schedules at
- 12306.cn
- Book at
- 12306.cn
- 2nd Class Seat
- ¥70–80
- 1st Class Seat
- ¥115–130
- Business Class Seat
- ¥160–240
Train from Shanghai station to Nanjing South Station
- 2nd Class Seat
- ¥130–150
- 1st Class Seat
- ¥210–240
- Business Class Seat
- ¥310–440
Train from Shanghai Hongqiao to Hangzhou East
- Ave. Duration
- 1h 7m
- Frequency
- Every 4 hours
- Estimated price
- ¥70–130
- Schedules at
- chinahighlights.com
- Adult - 2nd Class
- ¥70–100
- Adult - 1st Class
- ¥90–130
Train from Shanghai station to Nanjing South Station
- Ave. Duration
- 1h 56m
- Frequency
- Twice daily
- Estimated price
- ¥100–220
- Schedules at
- chinahighlights.com
- Adult - 2nd Class
- ¥100–150
- Adult - 1st Class
- ¥160–220
- Website
- qichezhan.net
Bus from Shanghai to Yinchuan Nanmen Station
- Ave. Duration
- 30h
- Frequency
- Once daily
- Estimated price
- ¥578
- Schedules at
- qichezhan.net
- Phone
- 400-830-6666
- Website
- ctrip.com
Bus from Yinchuan Nanmen Station to Lanzhou
- Ave. Duration
- 5h 30m
- Frequency
- Hourly
- Estimated price
- ¥140
- Schedules at
- bus.ctrip.com
- [email protected]
- Website
- chinabusguide.com
Bus from Jiuquan to Dunhuang
- Ave. Duration
- 4h 40m
- Frequency
- Every 3 hours
- Estimated price
- ¥80–170
- Schedules at
- chinabusguide.com
- Bus
- ¥120–170
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from Gatwick Airport into central London, Italian Lakes: Getting around by train, and The beginner’s guide to the 2018 World Nomad Games - to help you get the most out of your next trip.
Booking & Getting There
There are 13+ hotels available in Dunhuang.




















