Video from the chamber showed legislators shoving, yelling and pulling each other's hair on the podium at the front of the chamber.
Spectators and lawmakers raised their phones to record the scuffle as members of rival blocs elbowed and pushed one another.
The dispute broke out during discussion of a proposal to eliminate the city's transparency agency and replace it with a new oversight body.
The clash prompted a temporary suspension of the session.
After lawmakers returned, the opposition walked out of the chamber.
The ruling coalition then approved the reforms in their absence.