Police fired hundreds of shots and nearly 50 teargas shells to disperse the angry crowds, a witnesses said.
"It was hell of a scene with hundreds of gun-shooting police confronting nearly 20,000 protesters in the hours of battle," a witness told Reuters by telephone.
They were protesting against an open pit coal mine project Asian Energy is planning at Phulbari in Dinajpur district, in the country's northwest.
The protesters, who are backed by various rights groups, say the project would displace hundreds of families and cause serious damage to the environment. They demanded that the Asia Energy office in Phulbari be closed immediately.
Asia Energy intends to spend $3 billion in capital on the mine and power plant, and $10.4 billion in operating costs over 30 years.
Gary Lye, CEO of Asia Energy Corporation (Bangladesh) Pty Ltd denied that the mnine would harm people or the environment, and said: "Our Phulbari coal project is an open and transparent business that will bring far-reaching benefits to both the local community and the people of Bangladesh."
Asia Energy said it had submitted a scheme of development and a feasibility study for the Phulbari mine and was awaiting final government authorisation to start mining.