Eswatini armed forces on Thursday opened fire on a group of transport workers protesting the arrest of four colleagues, injuring three people, according to local sources.
About 100 minibus taxi and bus drivers took to the streets in the central city of Manzini to demand the release of the four who were arrested earlier this week accused of assaulting a female customer.
But the protest soon turned violent.
Demonstrators looted shops and torched a police post, witnesses said, triggering the deployment of the armed troops.
"The army opened fire on protesters who were looting a truck," said one witness, who preferred to remain anonymous fearing retaliation from authorities.
Local hospital head Benjamin Simelane said three transport workers were taken there suffering from gunshot wounds and were currently receiving treatment.
"The soldiers were beating everyone they caught and opened fire," said a second eyewitness who also asked not to be identified.
Government spokesperson Alpheous Nxumalo said "law enforcement agencies will continue to apply the law in order to uphold the rights of roads users and public transport users."
Musa Dlamini, the chair of the Swaziland Local Transport Association, said the group was investigating the incident.
Eswatini has traditionally stifled dissent and pro-democracy movements and political parties have been banned since 1973.
Previously known as Swaziland, landlocked Eswatini is Africa's last absolute monarchy.
Last year, at least 37 people were killed and hundreds injured during weeks of anti-monarchy protests in the worst unrest to hit the usually peaceful southern African country.