The measure, passed by a vote of 8-3, has been vetoed by mayor Gavin Newsome.
The goal, say the legislative sponsors, is to use government regulation to help combat childhood obesity. Newsom called the intent laudable but imprudent.
"There are times when a city can go too far. There's a time when we even cross the line," Newsom said.
The 8-3 vote shows the board has enough votes to override a veto by the mayor.