In a statement posted to Weibo, Air China confirmed that a lithium battery had ignited the blaze.
Crew members immediately responded to the incident and no injuries were reported, the airline said.
The plane was forced to make an emergency landing at Shanghai’s Pudong international airport at around 11am “to ensure flight safety”, according to Air China.
Passengers were later transferred to Seoul via a replacement jet, flight data showed.
Just months ago, China implemented an emergency ban on some portable batteries being brought on to flights because of fire hazards.
On October 19, a flight from Delhi to Dimapur was forced to turn around after a passenger’s electronic device caught fire inside a seat pocket.
In May, a China Southern Airlines flight from Hangzhou to Shenzhen reversed course just 15 minutes into its flight time after a passenger’s camera battery and power bank combusted.
Sign up to Herald Premium Editor’s Picks, delivered straight to your inbox every Friday. Editor-in-Chief Murray Kirkness picks the week’s best features, interviews and investigations. Sign up for Herald Premium here.