Punches have been thrown in South Africa's parliament as opposition MPs tried to disrupt the State of the Nation address by President Jacob Zuma.
Members of the radical Economic Freedom Fighters' party (EFF), all dressed in red, scuffled with security guards who ejected them from the chamber.
Mr Zuma had twice got to his feet but was shouted down by EFF MPs.
Outside parliament, police used stun grenades to disperse opposition and government supporters.
Mr Zuma has been dogged by allegations of corruption and cronyism and widely criticised for his handling of the economy.
Previous addresses by him have been marred by MPs demanding his resignation.
As Mr Zuma entered parliament in Cape Town on Thursday he was met by chants of "thief" by EFF MPs, who included their firebrand leader Julius Malema.
Members of the governing African National Congress (ANC) countered them by chanting "ANC, ANC".
Amid raised voices and chaotic scenes, Speaker Baleka Mbete tried to deal with repeated interruptions and procedural questions.
Mr Malema called Mr Zuma "an incorrigible man rotten to the core".
He also turned on the speaker, telling her: "Your conduct has failed you. You are irrational, impatient, partisan."
Ms Mbete told the protesting MPs: "We have been patient with you, we have been trying to give you an opportunity to express yourselves but... it is being abused."
Security guards were called in and the EFF members were forcibly ejected. Members of another opposition party, the Democratic Alliance, then walked out, saying President Zuma was unqualified to hold office.
A smiling President Zuma said "Finally" as he resumed his address, speaking about the economy and other issues.
Pure political theatre - analysis by BBC's Africa correspondent Andrew Harding
President Zuma knew it was coming. He stood up to make his speech in parliament with the look of a man braced for a long, uncomfortable evening.
Sure enough, the heckling and the "points of order" began almost immediately, and continued for more than an hour.
In some respects it was pure political theatre - an emboldened opposition seeking to hijack a high-profile televised event in order to humiliate the president and overshadow an increasingly divided governing party.
But there is genuine anger in South Africa about allegations of corruption and cronyism against Mr Zuma - and in particular about last year's constitutional court ruling that condemned his role in a renovation scandal at his private homestead, Nkandla.
Before long, cries of "criminal" and "racist" were being hurled across the floor between rival MPs, and pepper spray was released in the public gallery.
It was only a matter of time before the security guards were deployed. They charged into the hall - a donut of white shirts quickly surrounding the red-suited MPs of the EFF.
A few fists swung. Bodies were dragged over plump parliamentary furniture. And within seconds the red suits had been ejected from the chamber.
The DA's MPs quickly stood up and left under their own steam.
Mr Zuma, looking tired but managing the occasional smile, finally began his speech, focusing on familiar plans to address the legacy of racial apartheid and to accelerate the transfer of South Africa's economy into the hands of the black majority.
But the atmosphere in the chamber felt flat, while outside, opposition leaders were busy speaking in angry, urgent tones to crowds of journalists.
The State of the Nation address had, as planned, been side-lined.
Mr Zuma had angered some MPs ahead of his speech by ordering the deployment of about 440 troops to maintain law and order in parliament on the day.
Opposition parties condemned the decision as a "declaration of war".
It was the first time that troops had a security rather than a ceremonial role.
Previous State of the Nation speeches have been marred by chaos in parliament.
Since winning seats in 2014, members of the EFF have caused disruption by chanting and jeering at the president over allegations of corruption.
In 2015, EFF members were removed from the chamber by security guards disguised as waiters.