Gunmen blasted their way into a hotel and office complex in the Kenyan capital on Tuesday, sending workers fleeing for their lives as others cowered under their desks from an attack claimed by the al-Shabaab militant group from Somalia.
At least one person was killed and eight wounded, hospital officials said. Police warned the "terror attack" may still be ongoing, with the assailants still inside the upscale 14 Riverside Drive complex.
"The main door of the hotel was blown open and there was a human arm in the street severed from the shoulder," said Serge Medic, the Swiss owner of a security company who ran to the scene to help civilians when he heard of the attack from his taxi driver.
Medic, who was armed, entered the building with a policeman and two soldiers, he said, but they came under fire and retreated. An unexploded grenade lay in the lobby, he said.
"One man said he saw two armed men with scarves on their head and bandoliers of bullets," Medic told Reuters, as gunfire echoed in the background, more than two hours after the attack began.
A woman shot in the leg was carried out and three men emerged covered in blood. Some office workers climbed out of windows. Many told Reuters that they had had to leave colleagues behind, still huddled under their desks.
"There's a grenade in the bathroom," one officer yelled as police rushed out from one building.
"We heard a loud bang from something that was thrown inside. Then I saw shattered glass," Geoffrey Otieno, who works at a beauty salon in the complex, told Reuters. "We hid until we were rescued."
Kenya has often been targeted by al-Shabaab, who killed dozens of people in a shopping center in 2013 and nearly 150 students at a university in 2015.
"We are behind the attack in Nairobi. The operation is going on," said Abdiasis Abu Musab, the group's military operations spokesman.
According to its website, 14 Riverside is home to the local offices of international companies including BASF, Colgate Palmolive, Reckitt Benckiser, Pernod Ricard, Dow Chemical and SAP, as well as the dusitD2 hotel, part of the Thai hotel group Dusit Thani.
The Australia embassy is across the road from the compound. Kenya is an expatriate hub for diplomats, aid workers, businessmen and others operating around east Africa.
"I just started hearing gunshots, and then started seeing people running away raising their hands up and some were entering the bank to hide for their lives," a woman working in a bank in the complex said, adding she had heard two explosions.
Kenyan television featured appeals for blood from local hospitals and showed police cordoning off the route to ensure vehicles could move quickly. Red Cross ambulances ferried victims away.
Al-Shabaab says its attacks in Kenya are revenge for Kenyan troops stationed inside Somalia which has been riven by civil war since 1991.
The Kenyan troops, concentrated in the south, originally went into Somalia to try to create a buffer zone along the border. They are now part of an African Union peacekeeping force supporting the weak UN-backed central government.