At least 27 people were reported dead on Friday after Malian commandos stormed a hotel seized by Islamist gunmen to rescue 170 people, many of them foreigners, trapped in the building.
The jihadist group Al Mourabitoun, allied to al Qaeda and based in the desert north of the former French colony, claimed responsibility for the attack. The former French colony has been battling Islamist rebels for years.
More than seven hours after the initial assault, a security source declared the drama over, along with the deaths of two militants. But the security ministry said gunmen continued to hold out against special forces on the top floors of the seven-storey building.
"The attackers no longer have hostages. They are dug in in the upper floors. They are alone with the Malian special forces who are trying to dislodge them," spokesman Amadou Sangho said.
A U.N. official said U.N. peacekeepers searching the hotel had made a preliminary count of 27 bodies.
State television showed troops brandishing AK47s in the lobby of the Radisson Blu, one of the capital Bamako's smartest hotels and beloved of foreigners. A body lay under a brown blanket at the bottom of a flight of stairs.
Peacekeepers saw 12 dead bodies in the basement of the hotel and another 15 on the second floor, the U.N. official told Reuters on condition of anonymity. He added that the U.N. troops were still helping Malian authorities search the hotel.
A man who worked for a Belgian regional parliament was among the dead, the assembly said.
Minister of Internal Security Colonel Salif Traorş said the gunmen had burst through a security barrier at 7 a.m. (0700 GMT), spraying the area with gunfire and shouting "Allahu Akbar", or "God is great" in Arabic.
The attacks are a slap in the face for France, which has stationed 3,500 troops in northern Mali to try to restore stability after a 2012 Tuareg rebellion which was later hijacked by al Qaeda-linked jihadists.
BURSTS OF GUNFIRE
Bursts of gunfire were heard as the assailants went through the hotel room by room and floor by floor, one senior security source and a witness told Reuters.
Some people were freed by the attackers after showing they could recite verses from the Koran, while others managed to escape or were brought out by security forces.
One of the rescued hostages, celebrated Guinean singer Sşkouba "Bambino" Diabate, said he had overheard two of the assailants speaking English as they searched an adjacent room.
"We heard shots coming from the reception area. I didn't dare go out of my room because it felt like this wasn't just simple pistols - these were shots from military weapons," Diabate told Reuters by phone.
"The attackers went into the room next to mine. I stayed still, hidden under the bed, not making a noise," he said. "I heard them say in English 'Did you load it?', 'Let's go'."
The raid on the hotel, which lies just west of the city centre near government ministries and diplomatic offices, came a week after Islamic State militants killed 130 people in Paris, raising fears that French nationals were being specifically targeted.
Twelve Air France flight crew were in the hotel but all were brought out safely, the French national carrier said.
A Turkish official said five of seven Turkish Airlines staff had also managed to flee. The Chinese state news agency Xinhua said three of 10 Chinese tourists caught inside had been rescued.
PRESIDENT RETURNS
Malian President Ibrahim Boubacar Keita cut short a trip to a regional summit in Chad, his office said.
Northern Mali was occupied by Islamist fighters, some with links to al Qaeda, for most of 2012. They were driven out by a French-led military operation, but sporadic violence has continued in Mali's central belt on the southern reaches of the Sahara, and in Bamako.
One security source said as many as 10 gunmen had stormed the building, although the company that runs the hotel, Rezidor Group, said it understood that there were only two attackers.
Al Mourabitoun has claimed responsibility for a number of attacks, including an assault on a hotel in the town of Sevare, 600 km (375 miles) northeast of Bamako, in August in which 17 people including five U.N. staff were killed.
One of its leaders is Mokhtar Belmokhtar, blamed for a large-scale assault on an Algerian gas field in 2013 and a major figure in insurgencies across North Africa.
In the wake of last week's Paris attacks, an Islamic State militant in Syria told Reuters the organisation viewed France's military intervention in Mali as another reason to attack France and French interests.
"This is just the beginning. We also haven't forgotten what happened in Mali," said the non-Syrian fighter, who was contacted online by Reuters. "The bitterness from Mali, the arrogance of the French, will not be forgotten at all."