Gunfire and blasts were heard at the compound in the Westlands district of the Kenyan capital, which houses the DusitD2 hotel as well as offices.
The Somalia-based militant group al-Shabab said it was behind the attack but gave no details. Four armed men entered the complex, eyewitnesses say.
People have been leaving the site escorted by armed officers. Several people were led out covered in blood.
What is the latest?
The attack began at about 15:00 local time (12:00 GMT).
A woman working in a neighbouring building told Reuters news agency: “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.”
Explosions were heard and a plume of smoke rose above the compound, with vehicles on fire in the car park.
One police officer told the BBC’s Ferdinand Omondi at the scene: “Things are not good. People are dying.”
There are no details about casualties so far.
Kenyan police chief Joseph Boinnet told reporters: “Armed criminals are holding up in the hotel and specialist forces are currently flushing them out.”
The five-star DusitD2 hotel has 101 rooms. Located in the Westlands suburb, minutes from the capital’s business district, it has its own spa and several restaurants.
Kenya has seen a number of terror attacks in recent years – most notably in areas close to the Somali border and in the country’s capital.
Who are al-Shabab?
They are a militant Islamist group that opposes the Somali government but has also carried out attacks throughout East Africa.
- Who are Somalia’s al-Shabab?
Kenya is part of a regional peacekeeping operation that supports the Somali government in its battle against al-Shabab.
In September 2013, al-Shabab gunmen entered the Westgate shopping mall in Nairobi and targeted shoppers.
During an 80-hour siege at the upscale centre, 67 people were killed.
Two years later, the group carried out its deadliest ever assault in Kenya, shooting dead almost 150 people at Garissa University.