The motives behind the the incident, in which the assailant had also taken a woman hostage and injured two more people, remain unclear.
A gunman killed two police officers and a passer-by on Tuesday before being himself shot dead in the centre of the eastern Belgian city of Liege, public broadcaster RTBF said on its website.
Belgium’s anti-terrorist crisis centre was monitoring the situation, Interior Minister Jan Jambon said on Twitter.
It was unclear, however, what lay behind the incident in which the man had also taken a woman hostage, according to RTBF.
Two other police officers had been injured, Belga news agency said.
A spokeswoman for the Liege public prosecutors office confirmed that two police officers had been shot dead and the gunman “neutralised” but could not confirm other details.
Images on social media showed people scurrying for safety on Liege’s central boulevard d’Avroy with shots and sirens being heard in the background. One video showed two police in body armour moving into position.
Liege, an industrial city close to the German border in the French-speaking Wallonia region, was also the scene of a shooting in 2011, when a gunman killed four people and wounded over 100 before turning the gun on himself.
Belgium has been on high alert since a Brussels-based Daesh cell was involved in attacks on Paris in 2015 that killed 130 people and Brussels in 2016 in which 32 died.