The measure, approved on a 5-3 vote, prohibits stores of more than 90,000 square feet that use 10 percent of space to sell groceries and other merchandise that is not subject to sales tax. It takes aim at Wal-Mart Supercenter stores, which average 185,000 square feet and sell groceries.
Mayor Jerry Sanders will veto the ban if the Council reaffirms it on a second vote, which will likely happen in January, said mayoral spokesman Fred Sainz. The Council can override his veto with five votes.
"What the Council did tonight was social engineering, not good public policy," Sainz said.
Supporters of the ban argued that Wal-Mart puts smaller competitors out of business, pays workers poorly, and contributes to traffic congestion and pollution. Opponents said the mega-retailer provides jobs and low prices and that a ban would limit consumer choice.
"Quite simply, I do not think it is the role of the San Diego City Council to dictate where families should buy their groceries," said Councilman Kevin Faulconer, who opposed the ban.
Councilman Tony Young, who joined the 5-3 majority, countered, "I have a vision for San Diego and that vision is about walkable, livable communities, not big, mega-structures that inhibit people's lives."
Wal-Mart spokesman Kevin McCall said the Bentonville, Ark.-based company may consider a legal challenge or voter referendum if the measure becomes law.
"Certainly we're disappointed but there's still a number of steps left in this process," he said. "We need to look at what our options are."
The ban is modeled on a law in Turlock, a city of 70,000 people 85 miles southeast of San Francisco. Turlock prohibited big-box stores over 100,000 square feet that devote at least 5 percent of their space to groceries.
Wal-Mart recently dropped its challenge to the Turlock ordinance, which prevented it from building a planned 225,000-square-foot Supercenter store. In July, a federal judge in Fresno said Turlock's zoning law did not infringe on the company's constitutional rights. The state Supreme Court refused to hear the case.
Wal-Mart has about 2,000 Supercenter stores, including 21 in California, but none in the San Diego area. The retailer has 18 regular Wal-Mart stores in the San Diego area, including four within limits of the city of 1.3 million people.
Wal-Mart has not disclosed plans for a Supercenter store in San Diego area. Sainz, the mayoral spokesman, said the retailer probably wants to expand.
"It's complete and total guesswork but I'm inclined to think they would," Sainz said. "Everything I've seen and heard from them makes me think they would."
San Diego's move comes two months after the Chicago City Council failed to override Mayor Richard Daley's veto of a so-called "living-wage" ordinance that would have required giant retailers to pay their workers higher wages.