The white officer was on patrol for a private security company when he exchanged fire with an 18-year-old after a chase, say police.
The officer fired 17 shots at the teenager, police added.
Two months ago a fatal shooting in the nearby suburb of Ferguson sparked weeks of unrest and international headlines.
Michael Brown, 18, was unarmed when he was killed by a white officer, who could face criminal charges.
The latest incident began when the officer, dressed in his city police uniform, spotted three men running away from him in Shaw neighborhood, says St Louis Police Chief Colonel Sam Dotson.
The 32-year-old officer thought one of the men was carrying a weapon so chased him and a confrontation followed.
During the altercation, the man fired at the officer, who returned fire and killed him, said Sam Dotson.
Ballistic evidence suggests the man fired three rounds at the officer before his weapon jammed, and a gun was recovered from the scene, he added.
The officer, who was not injured, fired 17 shots, said Sam Dotson.
“An investigation will decide if the officer’s behavior was appropriate,” he said at a news conference in the early hours of Thursday, October 9.
Neither man has been named.
Hours after the shooting, a crowd gathered at the scene, with some shouting “hands up, don’t shoot”, in reference to the fatal shooting of Michael Brown by a white policeman on August 9.
Some police cars were damaged but there were no arrests.
m8ym1MMdoC0Image source: Wikimedia Commons President-elect Donald Trump celebrated his election victory at the Ultimate Fighting…
Millions of voters across the US chose to return Donald Trump to the White House…
Donald Trump declares victory in the US election as he addresses jubilant supporters in Florida.…
Stocks around the world are rising as Donald Trump appears to be on the cusp…
Donald Trump has won Pennsylvania, North Carolina and Georgia and taken a lead over Kamala…
Quincy Jones, the celebrated musician and producer who worked with Michael Jackson, Frank Sinatra, Ray…