Police said residents hurled stones and blocked streets with burning tyres when officers arrived to enforce a government order to remove illegal shacks in the southern districts, which are a stronghold of the Islamist group Hezbollah.
Armed men in the crowd began shooting, prompting officers to return fire, a police spokesman said.
Rioters damaged three police vehicles and 12 members of the security forces were among the wounded, police said.
A preliminary investigation showed that a teenage boy killed during the clash was hit by two bullets fired at close range from two different weapons, according to a police statement.
Four civilians, including a cameraman for the Hezbollah-run Al-Manar television channel, were also wounded.
Television footage showed young men and women ducking for cover to the sound of gunfire.
Two wounded children, their bodies soaked in blood, were carried away by residents to a hospital.
The rioters blocked one of the two main roads leading to Beirut airport where it passes through the city’s southern suburbs.
The city’s southern districts are a stronghold of Hezbollah, the political party and armed group that fought Israel during its 34-day offensive against Lebanon in July and August.
Israeli aircraft inflicted enormous damage on parts of the southern suburbs, levelling entire blocks and prompting hundreds of thousands of residents to flee the area.