Gunmen stormed a luxury hotel in Kenya's capital on Tuesday, setting off thunderous explosions and gunning down people at cafe tables in an attack claimed by Africa's deadliest Islamic terror group. A police officer said at least 15 people had died.
"It is terrible. What I have seen is terrible," said Charles Njenga, who ran from a scene of blood, broken glass, burning vehicles and pillars of black smoke.
Al-Shabab - the Somalia-based group that carried out the 2013 attack at the nearby Westgate Mall in Nairobi that left 67 people dead - claimed responsibility for the carnage at the DusitD2 hotel complex, which includes bars, restaurants, offices and banks and is in a well-to-do neighborhood with many American, European and Indian expatriates.
A Kenyan police officer said 15 bodies had been taken to the morgue. He spoke on condition of anonymity because he was not authorized to speak to reporters. Al-Shabab asserted that 47 people were killed but its Shahada news agency post gave no details.
Authorities sent special forces into the hotel to flush out the gunmen. Late Tuesday night, about eight hours after the siege began, Interior Minister Fred Matiang'i said all of the buildings affected had been secured and that security forces were mopping up.
"I would like to reiterate that the situation is under control and the country is safe," he said.
However, more gunfire was heard about an hour later, Kenyan broadcaster NTV reported. Some family members said they had been in touch with loved ones still hiding inside the complex, waiting to be rescued.
Authorities did not say how many attackers there were - or what happened to them - though Kenya's Citizen TV aired security-camera footage that showed at least four heavily armed men in dark-colored, paramilitary-style gear.
A police officer who spoke on condition of anonymity because he was not authorized to talk to the media said bodies were seen in restaurants downstairs and in offices upstairs, but "there was no time to count the dead."
A witness who gave his name only as Ken said he saw five bodies at the hotel entrance. Other people were shouting for help and "when we rushed back to try to rescue them, gunshots started coming from upstairs, and we had to duck because they were targeting us and we could see two guys shooting," he said.
The coordinated assault began with an explosion that targeted three vehicles outside a bank, and a suicide bombing in the hotel lobby that severely wounded a number of guests, said Kenya's national police chief, Joseph Boinnet.
Survivors reported hearing a shattering blast and saw people mowed down by gunmen as they sat in a cafe. Victims were left slumped on tables.
"We were changing our shifts, and that is when I heard a loud blast and people were screaming," said Enoch Kibet, who works as a cleaner at the cafe and managed to crawl out a basement gate. "I couldn't believe I was alive. The blast was so loud and shook the whole complex."
Kenyan hospitals appealed for blood donations even as the number of wounded remained unclear.
Associated Press video from inside the hotel showed Kenyan security officers searching the building and scared workers emerging from hiding while gunfire could still be heard. Some climbed out a window by ladder. One man got up from the floor where he appeared to be trying to hide under a piece of wood paneling, then showed his ID.
As officers searched luxury fashion displays, wounded people were carried away on stretchers.
Like the attack at the Westgate Mall, this one appeared aimed at wealthy Kenyans and foreigners. It came a day after a magistrate ruled that three men must stand trial in connection with the Westgate Mall siege.
Al-Shabab has vowed retribution against Kenya for sending troops to Somalia to fight it since 2011. Tuesday's violence came three years to the day after al-Shabab terrorists attacked a Kenyan military base in Somalia, killing scores of people.
The al-Qaida-linked group has killed hundreds of people in Kenya. In the deadliest attack, al-Shabab claimed responsibility for an assault on Kenya's Garissa University in 2015 that killed 147 people, mostly students.
The latest carnage demonstrated al-Shabab's continued ability to carry out spectacular acts of bloodshed despite a dramatic increase in US airstrikes against it under President Donald Trump.
Tourism - an important source of revenue in Kenya, East Africa's largest economy - has suffered because of the violence.
Gunfire could be heard for hours after Tuesday's attack began. Some people ducked behind cars, screaming, while others took cover behind fountains and other features at the lush complex. A bomb disposal unit was called in, and police blew up a car they said had explosives inside. A grenade was seen in a hallway.
Dozens of people were rushed to safety as plainclothes officers went from shop to shop in the complex. Some people held up their hands to show they were unarmed.
A Kenyan intelligence official said the country had been on high alert since November, with information about potential attacks on high-profile targets in Nairobi. The official was not authorized to talk to the media and spoke on condition of anonymity.
Despite the repeated attacks, the Kenya-Somalia border remains porous, with al-Shabab extremists able to easily bribe their way across, according to a UN panel of experts.
The hotel complex in Nairobi's Westlands neighborhood is about a mile (2 kilometers) from Westgate Mall on a relatively quiet, tree-lined road in what is considered one of the most secure parts of the city. The hotel's website says it is "cocooned away from the hustle and bustle in a secure and peaceful haven."
On Monday, the hotel promoted its spa by tweeting: "Is your new year off to a rough start?"