Kenya's parliament approved a contentious Finance Bill on Tuesday that pushes up taxes as police and protesters clashed in the streets of the capital Nairobi and other cities.
Police used tear gas and water cannon and also fired over the heads of demonstrators to disperse crowds, while some protesters hurled stones at security forces, witnesses said.
Riot police sealed off the parliament as lawmakers debated the tax bill, and State House, site of the president's office and residence. The parliament approved the measures before adjourning as protesters swarmed outside the building.
The protesters oppose tax rises in a country already reeling from a cost-of-living crisis but many are also calling for President William Ruto to step down.
"This is my first protest," said Sonia, 37, a digital marketer in Nairobi. "The other years I didn't really feel a need to come out but it's (taxes) really affecting my business."
Ruto won an election almost two years ago on a platform of championing Kenya's working poor, but has been caught between the competing demands of lenders such as the International Monetary Fund, which is urging the government to cut deficits to access more funding, and a hard-pressed population.
Kenyans have been struggling to cope with several economic shocks caused by the lingering impact of the Covid-19 pandemic, the war in Ukraine, two consecutive years of droughts and depreciation of the currency.
The finance bill aims to raise an additional $2.7 billion in taxes as part of an effort to lighten the heavy debt load, with interest payments alone consuming 37% of annual revenue.
The government has already made some concessions, promising to scrap proposed new taxes on bread, cooking oil, car ownership and financial transactions. But that has not been enough to satisfy protesters.
Tuesday's protest began in a festival-like atmosphere but as crowds swelled, police fired tear gas in Nairobi's Central Business District and the poor neighbourhood of Kibera. Protesters ducked for cover and threw stones at police lines, witnesses said.
Police fired live rounds over the heads of protesters, witnesses said.
Police also fired tear gas in Eldoret, Ruto's hometown in western Kenya, where crowds of protesters filled the streets and may businesses were closed for fear of violence.
Clashes also broke out in the coastal city of Mombasa and demonstrations took place in Kisumu, on Lake Victoria, and Garissa in eastern Kenya, where police blocked the main road to Somalia's port of Kismayu.
In Nairobi, people chanted "Ruto must go" and crowds sang in Swahili: "All can be possible without Ruto". Music played from loudspeakers and protesters waved Kenyan flags and blew whistles.
Citizen TV showed one person, possibly injured, being carried away by other protesters. Police did not respond to Reuters requests for comment.
Organic movement
Thousands had taken to the streets of Nairobi and several other cities during two days of protests last week as an online, youth-led movement developed into a major headache for the government.
On Sunday, Ruto praised the protesters, saying they had been peaceful and that the government would engage with them on the way forward. But while protesters initially focused on the finance bill, their demands have broadened to demand Ruto's resignation.
The opposition declined to participate in the vote, shouting "reject, reject" when the house went through them one by one. The bill will then be subjected to a third and final vote by acclamation on the floor of the house.
The finance ministry says the amendments would blow a 200 billion Kenyan shilling ($1.56 billion) hole in the 2024/25 budget, and compel the government to make spending cuts or raise taxes elsewhere.
"They are budgeting for corruption," said protester Hussein Ali, 18. "We won't relent. It's the government that is going to back off. Not us."