The blast at Shanghai Pudong International Airport, the city's main international airport, occurred at around 2:20 pm near a check-in counter at Terminal 2, when what appears to be a "home-made" explosive blew up, Xinhua news agency reported, quoting Shanghai Airport Authority, which manages the airport.
The male suspect threw an "explosive wine bottle", and then went on to cut his own throat, Xinhua posted on its Twitter handle.
The injured include a 53-year-old Philippine man, as well as a 67-year-old man and a 64-year-old woman, both of whom are Chinese. They sustained injuries to their heads, hands and legs, doctors said.
An initial investigation has found evidence suggesting that the man's injury could have been self-induced, hinting he might have set off the blast.
Also Read
There was no disruption to flights in or out of the airport, according to authorities.
The area was cordoned off by authorities, who have launched an investigation into the blast.
"A beer bottle filled with white smoke rolled right by my feet. I was scared and ran at once," said an eyewitness.
Photos and video clips posted online showed dense grey smoke at the terminal, and paramilitary security forces rushing into the building. They also showed police keeping people away from the scene and abandoned luggage littering the floor.
In 2013, a wheelchair-bound man set off a bomb at Beijing airport to highlight a personal grievance. He later received a six-year prison sentence.