National police chief Ronald dela Rosa told DZMM radio the lone gunman had not aimed his assault rifle at people at the Resorts World Manila entertainment complex, and may have been trying to steal casino chips.
Shots and loud bangs rang out shortly after midnight (1600 GMT) in the buildings close to Terminal Three of Ninoy Aquino International Airport and an air force base, prompting fears that a militant attack was under way.
Smoke was seen billowing from the upper story of the complex's hotel wing hours after the initial assault as police worked to clear the resort room by room.
Manila region police chief Oscar Albayalde told reporters shortly before dawn that one body had been recovered but the circumstances were not clear. The gunman had not yet been caught and all guests had been evacuated, he said.
Officials said at least 30 people were hurt, some seriously, as they rushed to escape.
"Don't panic, this is not a cause for alarm. We cannot attribute this to terrorism," national police chief dela Rosa said.
"We are looking into a robbery angle because he did not hurt any people and went straight to the casino chips storage room. He parked at the second floor and barged into the casino, shooting large TV screens and poured gasoline on a table setting it on fire," he said.
Dela Rosa described the gunman as "foreign-looking, a Caucasian, about six feet tall" and said he spoke English. The suspect may have escaped because smoke had obscured footage for CCTV cameras, he said.
A Reuters witness saw armed police entering a hotel near the complex. Videos posted earlier on social media showed people fleeing as several loud bangs were heard.
Jeri Ann Santiago, who works in the emergency room at the San Juan de Dios hospital, close to Resorts World, said 13 people were being treated, but more were on the way.
Most of the patients were suffering the effects of smoke inhalation and some had injuries such as fractures, she said, adding that none had gunshot wounds.
The Philippines has been on heightened alert amid a crisis in the south of the country, where troops have been battling Islamist rebels since May 23. President Rodrigo Duterte declared martial law on the southern island of Mindanao last week.
U.S. President Donald Trump said Washington was closely monitoring events unfolding in Manila.
The U.S. embassy in Manila told Americans there to exercise caution and to review their personal security.
Dozens of police trucks and a handful of huge Special Action Force vans and armoured personnel carriers lined side streets near the hotel, casino and shopping mall complex as the drama unfolded.
Gil Yonco, 54, stood weeping in the street at around 5 a.m. His daughter had been inside Resorts World on the second floor and called her father for help because she was being suffocated by smoke.
He tried calling back but there was no answer. "I am very worried as a parent, I need to find her," he said.
A casino worker from the third floor of the complex, named Julio, told DZMM radio he heard many gunshots and saw people running up the stairs from the second floor.
Ronald Romualdo, a maintenance worker at Resorts World, told the station he saw a woman fall from an upper floor while trying to escape. "Several people were injured," he said.
Police chief dela Rosa said it was possible the Islamic State militant group would claim responsibility for the incident for propaganda purposes.
President Duterte has said he fears Islamic State's "terrible ideology" will spread on Mindanao, an island of 22 million people, and has warned it could become a haven for supporters fleeing Iraq and Syria.
Banner/thumbnail credit: Reuters