A suicide car bomber rammed the gates of a restaurant near a beach in Somalia's capital before gunmen fought their way into the building in an attack that killed at least three people.
The assailants may have taken some hostages inside the Liido Seafood restaurant, which is popular with Mogadishu's elite and government officials, police said.
"The operation (to dislodge the attackers) is ongoing now. The (attackers) are still inside and fighting our troops," a spokesman said from the scene of the attack as gunfire rang out in the background.
He said he had counted at least three bodies outside the restaurant. An unknown number of people are still trapped inside the restaurant, he said.
Witnesses said that gunmen shouted "Allahu akbar," the Arabic phrase for "God is great," and entered the restaurant from the direction of the beach as clients, sitting behind razor wire, watched the seashore.
"They randomly fired at the people sitting near the beach before entering the restaurant," said witness Ahmed Nur, who was strolling along on the shoreline when the attack happened.
There was no immediate claim of responsibility for the violence, which bore the hallmarks of the Islamic extremist group al-Shabab, which has recently stepped up attacks.
Al-Shabab claimed responsibility for an attack last week on Kenyan peacekeepers in south-western Somalia. The al Qaida-linked group said it had killed about 100 Kenyans, but the Kenyan government has given no death toll.
Despite being pushed out of Somalia's major cities and towns, al-Shabab continues to launch deadly guerrilla attacks across the Horn of Africa country. African Union troops, government officials and foreigners are frequently targeted.