Cheap flights from Beijing to Shanghai
9 airlines fly this route nonstop, about 1h 50m in the air.
One tap shows every airline's price for those dates, cheapest first. Free, no account needed.
Prices updated .
- Distance1,099 km
- Flight time1h 50m
- Nonstop airlines9
- Delay compensationup to €250
Airlines flying Beijing–Shanghai nonstop
- CAAir ChinaPEK → SHA Air China delay compensation
- MUChina EasternPEK → SHA China Eastern delay compensation
- CZChina SouthernPKX → PVG China Southern delay compensation
- FMFMPKX → SHA FM delay compensation
- HOHOPKX → PVG HO delay compensation
- HUHUPEK → SHA HU delay compensation
- KNKNPKX → PVG KN delay compensation
- MFMFPKX → PVG MF delay compensation
- Y8Y8PEK → SHA Y8 delay compensation
Check your flight by voice
Say "KL 1137" and see the gate, delay and baggage belt. Free.
Check a flightGet told when it changes
Delays, gate changes, landing: by text or email. Included in the free week.
Start free weekDelayed 3 hours or more?
See what you're owed, up to €250 on this route, and get a ready letter.
Check compensationQuestions about this route
- Which airlines fly nonstop from Beijing to Shanghai?
- Air China, China Eastern, China Southern, FM, HO, HU, KN, MF, Y8.
- How long is the flight from Beijing to Shanghai?
- About 1h 50m nonstop, over 1,099 km.
- What is the cheapest flight from Beijing to Shanghai?
- The cheapest return price travelers found recently was €176 per person (around 2026-12-13). Prices change; search your dates for today's price.
- What if my flight is delayed or cancelled?
- On flights from the EU, or to the EU on an EU airline, you may be owed up to €250 per person for a delay of 3 hours or more, or a late cancellation.
More routes
- SHA–BJSShanghai to Beijing
- BJS–AUHBeijing to Abu Dhabi
- BJS–ADDBeijing to Addis Ababa
- BJS–ALGBeijing to Algiers
- BJS–AMSBeijing to Amsterdam
- BJS–ATHBeijing to Athens
- BJS–AKLBeijing to Auckland
- BJS–DPSBeijing to Bali (Denpasar)
- BJS–BKKBeijing to Bangkok
- BJS–BCNBeijing to Barcelona
- BJS–BERBeijing to Berlin
- BJS–BRUBeijing to Brussels
- BJS–OTPBeijing to Bucharest