La policía roció con cañones de agua a los manifestantes, que replicaron a veces con granadas de fabricación casera mientras gritaban consignas contra la primera ministra Shij Hasina, a la que piden que aplace las elecciones previstas el 5 de enero.
"Disparamos para dispersar a los manifestantes, que lanzaron decenas de pequeñas bombas", dijo a la AFP Nur Alam Siddiqui, un alto responsable de la policía. Un manifestante resultó herido y murió en el hospital, añadió.
La manifestación, llamada "marcha democrática" por la oposición, había sido prohibida por la policía.
En el último año Bangladesh ha vivido los enfrentamientos más violentos desde su creación, en 1971, que dejaron al menos 274 muertos.
Dos mujeres se enfrentan desde hace años para dirigir el país: Shij Hasina, la jefa del gobierno actual y del partido Liga Awami, y Jaleda Zia, la líder de la oposición, dirigente del Partido Nacionalista de Bangladesh y exprimera ministra.
El sábado, la policía arrestó a cerca de mil manifestantes de la oposición como "medida preventiva" y las autoridades suspendieron los servicios de bus, ferry y trenes en dirección a Dacca para aislar a la capital del resto del país.
Unos 11.000 policías y agentes de las fuerzas de seguridad fueron desplegados en toda la ciudad, dijo a la AFP Masudur Rahman, un portavoz de la policía.
En los últimos meses el partido de Jaleda Zia ha organizado varias manifestaciones multitudinarias para pedir la dimisión del gobierno y la creación de un poder de transición antes de nuevas elecciones.
La credibilidad de los comicios previstos el 5 de enero ya está en entredicho antes de celebrarse y los países extranjeros rechazaron enviar observadores internacionales.
Desde su creación en 1971 hubo veinte golpes de Estado en Bangladesh.