A crowd of about 100 gathered at the scene in St Louis early on December 24 after scuffles the night before.
Police said the man who was shot, Antonio Martin, 18, had pointed a gun at the police officer.
For weeks there have been widespread protests over alleged police brutality.
Berkeley is about 2 miles from the St Louis suburb of Ferguson, where 18-year-old Michael Brown was shot dead by a white officer.
St Louis County police chief Jon Belmar said a police officer was responding to a call about a theft when he saw Antonio Martin and another man at a petrol station in North Hanley Road and approached them.
He said that Antonio Martin pointed a handgun at the officer, and the officer responded by firing three shots. One of the shots hit Antonio Martin, he said.
The officer “responded with what he thought was commensurate force at the time”, Col. Jon Belmar said, adding that “most of us would feel in imminent danger of losing our lives at that point”.
Col. Jon Belmar described the incident as “a tragedy for everybody”, and said a prosecutor had been assigned to investigate the case.
“Our hearts certainly go out to the family, but bad choices were made,” he added.
“This individual [Antonio Martin] could have complied with the officer; he could have run away; he could have dropped the gun. Things did not have to end with him approaching an officer with a 9mm pistol in his hand.”
Berkeley Mayor Theodore Hoskins said that both the city and St Louis County would hold independent investigations.
The incident could not be compared with the shooting of Michael Brown in Ferguson, Theodore Hoskins said, adding: “The video shows that the deceased pointed a gun… at the officer.”
Between 200 and 300 people gathered at the scene after the incident, Col. Jon Belmar said, adding that bricks were thrown at police officers, and three explosive devices set off.
Four people had been arrested for assaulting police officers, he said.
Police are releasing video footage of the run-up to the shooting, and an image of the second man, who fled the scene.
The handgun said to belong to Antonio Martin has been recovered by police.
gv0jVULB9GgThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…