But that changed halfway through the meal.
Johnson was talking with some of the guests when one of the attendees ran up beside him, yanked him around by the arm, and smashed a store-bought pie in the mayor’s face, the Sacramento Bee reported.
“It was a half-punch, half-pie,” UFC fighter Urijah Faber, who attended the dinner, told ABC10.
Johnson reportedly didn’t realize what had happened at first. But when the alleged attacker said something to him, Johnson — covered in whipped cream — fought back.
Witnesses told the East Bay Express that the 6-foot-1 ex-athlete landed five to 10 blows in the man’s face before backing off — beating him to a “bloody pulp,” in the words of one person who saw the fight.
Police and the mayor’s spokeswoman confirmed that Johnson did throw a punch.
“The mayor did strike the suspect after he was assaulted,” spokesman Sgt. Bryce Heinlein told the Express.
Police arrested Sean Thompson, 32, on felony charges of assaulting a public official. He has been booked in Sacramento County Jail, police said in a statement.
Thompson was transported to a nearby hospital, where he was treated for “minor injuries,” police said. It was unclear Thursday morning whether he had an attorney representing him.
After the incident, Johnson got a change of clothes and apologized to the party of about 200 people from the podium, drawing applause, according to the Express. He tweeted later that he was “doing fine.”
The event, called the Seeds of HOPE Harvest Dinner, was part of Sacramento’s “Farm to Fork” week and was designed to involve high school students in preparing the meal.
Farber said he had just arrived when he saw security helping Johnson up.
“There was another guy that was being detained who was all dirty, dressed kind of raggedy, and bloodied up at this point, who was being held for the cops to come and grab him,” Farber told ABC10. “That guy got the worst of it.”
Johnson, who was not injured, went home afterward to cool off with his family, spokeswoman Crystal Strait said.
“Let me be clear, the mayor was assaulted tonight,” she said. “The whole thing is just shocking.”
Johnson, a Democrat, was first elected mayor in 2008 after more than a decade as a point guard for the Phoenix Suns that found him in the All-Stars three times. His second mayoral term is up in two months and he’s not seeking reelection.