A man threw a home-made explosive in the Pudong International Airport terminal building, which left five people injured. The assailant is now in a critical condition after slashing his neck with a knife.
The explosion occurred near the airport's Terminal Two ticketing area at about 2:20 p.m. local time (0600 UTC) Sunday, the Shanghai government said in a short statement on its official microblog.
The unidentified man removed a beer bottle or bottles containing explosive materials from a backpack before throwing it near a check-in counter.
Five passengers were injured in the incident and taken away for medical treatment, the statement added.
The official Xinhua news agency said the wounded included a Philippine national, as well as a 67-year-old man and a 64-year-old woman - both described as Chinese.
After the bottle exploded, the assailant took out a knife and slashed his own neck, it said, adding the man is now in a critical condition and is being treated at hospital.
Unverified pictures on China's Weibo microblog showed a person on a gurney being wheeled away by medical attendants and a pool of blood on the floor.
Online video clips showed dense grey smoke rising to the ceiling of the terminal, and security forces rushing into the building.
A Reuters reporter at the airport said police in explosion-resistant suits were searching luggage, but that travelers could freely enter the building. Three flights being checked-in nearby were delayed.
The motive for the blast has not been released. But explosives are relatively easy to obtain in China and there have been several cases of disgruntled individuals setting off explosions or starting fires in revenge for perceived wrongs.
In 2013, a man in a wheelchair detonated a home-made explosive at Beijing's international airport, over an apparent earlier grievance. He received a six year jail term.
Last year, an unemployed man set off an explosion at a public park in the eastern province of Shandong, killing himself and another person and wounding 24.
mm/rc (AFP, Reuters)