The presence of soldiers on the streets of Brussels is part of a large-scale security operation created to reassure the public in the wake of terrorist attacks in the city in March 2016 in which 32 people were killed. "Soldiers at the scene responded".
Authorities said that the 30-year-old man is not known for any terrorist activities.
Public broadcaster RTBF said the man attacked two soldiers.
RTBF reported the suspect was a Somali man who is alleged to have shouted "Allahu Akbar" - God is greater - before the attack.
Neither of the two soldiers attacked are believed to have been seriously harmed.
The Flemish outlet cites radio reports which suggest one of the slain man's victims is critically injured.
Federal Police spokesman Jonathan Pfunde also confirmed some details of the incident and said the attacker had been "neutralized". It added the "situation is under control".
Associated Press television images showed that police sealed off a main street near the Grand Place, a central square that is a popular tourist site. "Our security services stay vigilant and we monitor the situation closely", he said.
Large numbers of police officers were deployed to the scene, which was cordoned off.