The two officers were taken to hospital after they were stabbed close to Brussels North railway station on Thursday evening.
Prosecutors say the suspect had earlier walked into a police station requesting psychological help. The officer who was fatally stabbed in the neck was just 20 years old, Belgian media report.
The attacker's motive is unknown, but anti-terrorist officials say they have taken over the investigation.
The two police officers were on patrol in the Schaerbeek area of northern Brussels on Thursday evening when they came under attack.
The motive for the attack is unknown but the suspect had entered Evere police station in the Schaerbeek area on Thursday morning, making incoherent remarks and speaking of hatred of the police.
Police say another patrol arrived at the scene and "neutralised" the attacker. He was shot in the legs and abdomen before being taken to hospital.
One local resident told the BBC they had heard "five or six shots" fired shortly after the attack, which occurred at around 19:15 (18:15 GMT).