The mayor of Sacramento was hit in the face with a pie at a charity dinner then tussled with his assailant on Wednesday night, officials said.
A spokeswoman for Mayor Kevin Johnson told NBC News that "there was a scuffle" after the incident, which took place at Sacramento High School.
"The mayor was assaulted," Crystal Strait said. "The mayor defended himself."
Police said an officer attending the event "took the subject to the ground" with the help of bystanders after the "altercation."
The suspect — 32-year-old Sean Thompson — sustained a minor injury and was taken to the hospital for treatment, the Sacramento Police Department said in a statement.
It said Thompson was arrested on felony charges of assaulting a public official.
The mayor was interviewed by police after the incident and later tweeted a message of thanks to officers.