A masked gunman opened fire at La Terrasse bar, killing a French national, witnesses said.
A Belgian security official working for the EU and three Malians also died in the attack.
One witness said an attacker shouted "God is Great" in Arabic ("Allahu Akbar"). It is the first attack of its kind in the capital.
It is not clear who carried out the attack, but al-Qaeda-linked Islamist militants have been fighting the army in northern Mali for a number of years.
France, the former colonial power in Mali, intervened two years ago to stop their advance south on Bamako.
French President Francois Hollande condemned the attack as "cowardly".
He spoke by phone to Malian counterpart Ibrahim Boubacar Keita and they "decided on common measures to strengthen security in Mali", the French presidency said.
Belgian Foreign Minister Didier Reynders called the attack a "cowardly act of terror".
La Terasse is popular among expats for its salsa evenings. You often see people there from the UN and EU mission that trains the Malian army.
When I arrived there about an hour after the attack, there was a white body bag on the floor. A dozen Malian police were at the scene, including an inspector who used tables and stools to cordon off the bar. A witness said the attackers had sped off in a vehicle and on a motorbike and that one had shouted "Allahu Akbar".
If confirmed as the work of Islamist fundamentalists, this would be the first such attack in Bamako. But locals have long feared it might happen.
Many think the UN and the French and Malian militaries have been complacent to believe the danger is limited to Mali's north. There is very little security in Bamako apart from around foreign embassies and the UN mission.
European Council President Donald Tusk said the EU would "not be intimidated by terrorism, at home or abroad".
The attack happened shortly after midnight. Witnesses and officials said the attackers had killed the Belgian and Malian victims near the bar.
Our reporter says French soldiers arrived quickly afterwards on the first-floor nightclub on Saturday.
They confirmed that a man killed at the bar, in the Hippodrome area of the capital popular with expatriates, was a French national. The French foreign ministry later named him as 30-year-old Fabien Guyomard, who French media said was in Mali working for a private company.
One of the Malian victims is believed to have been a police officer, and another a security guard, our correspondent says.
Militancy in Mali:
A witness told the BBC he had seen four men flee the scene in a vehicle and one on a motorbike.
UN officials said an early report that a third European had been killed was incorrect.
Nine people were wounded in the attack, officials said. They reportedly include three Swiss citizens, two of whom were soldiers working at the UN mission, according to the Swiss defence ministry.
It has also emerged two people detained by police after the killings on Saturday were not involved.
France has troops based in the Sahel region of northern Africa in an effort to stop the emergence of jihadist groups.
This follows their intervention in Mali in January 2013, after various Islamist militant groups managed to take over most of northern Mali in 2012.
The militants were eventually expelled from towns across the north, but both nomadic Tuareg rebels and other Islamist militant groups have remained active in the vast desert region.
Peace talks with Tuareg rebels ended inconclusively in Algiers last week.
Northern Mali has been a flashpoint of conflict since Mali's independence from French rule in 1960, with Tuareg rebels campaigning for independence or more autonomy.
The conflict has become more complex with the emergence of jihadi groups, which roam freely across parts of the Sahara desert.
Five people have been killed in a machine-gun and grenade attack on a bar in Mali's capital, Bamako.