The blast, on the third floor of a hotel in the city centre, sent police running for cover and showered the streets below in rubble and smoke.
National police chief AKM Shahidul Hoque said the deceased was a foot soldier from Jamayetul Mujahideen Bangladesh - a local militant outfit blamed for the massacre of 22 hostages at a cafe popular with foreigners in Dhaka last year.
Journalist killed in political party clash in Bangladesh
"He was carrying bombs and a suicide vest. The door was blown off in one explosion, and he died in the second explosion," he told AFP. "He is a JMB member. He is a former madrasa student."
The incident came as Bangladesh marked an annual national day of mourning to commemorate the assassination of the nation's founding leader and secular icon, Sheikh Mujib ur Rahman, in a military coup in 1975.
Bangladesh is now ruled by Sheikh Mujib's daughter Sheikh Hasina, who has ordered a bloody crackdown on militant networks that has left nearly 70 suspected militants dead.
Hasina, along with Bangladesh's president and other dignitaries, was paying tribute to her father at a memorial just a few hundred metres from the hotel where the extremist detonated his vest.
Hoque told reporters that the militants had planned to attack those marching in processions.
Two militants killed in Bangladesh raid
Hasina's secular government blames JMB for a slew of attacks in recent years on foreigners, atheist bloggers, rights activists and religious minorities. Five of its senior leaders have been executed on charges of murder, genocide, torture and rape, triggering nationwide protests by their supporters.
In the deadliest of these recent attacks, five gunmen stormed an upscale cafe in Dhaka's diplomatic zone in July 2016, killing 22 people including 18 foreigners.
The Islamic State group claimed responsibility for the attack, but police and the government blamed JMB for the carnage, discounting suggestions that the Syria-based militant group had a foothold in Bangladesh.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ