One of the soldiers received a wound to the face, the other suffered a hand injury. The attacker is in a critical state in hospital.
Pictures from the scene on Friday show the area cordoned off with police and emergency services in the street.
Witnesses said they heard the sound of gunshots and police sirens.
"With the identity that we currently have it is a 30-year-old man who is not known for terrorist activities," a spokeswoman for the prosecution in Brussels said.
Witness Ryan MacDonald wrote on Twitter that he heard the sound of a gunshot before seeing a "heavy police presence outside".
Another witness said he heard "two loud bangs and a load of sirens".
The attack took place on Boulevard Emile Jacqmain in the centre of Brussels, local media reported.
The presence of soldiers on the streets of Brussels is part of a large-scale security operation designed to reassure the public in the wake of terrorist attacks in the city which killed more than 30
Troops on patrol in a busy district of shops and restaurants in the centre of the city appear to have been the target for this latest attack.