David Campos, left, and Matt Haney are locked in a hard-fought battle for Assembly District 17

David Campos

22,567 votes

Matt Haney

38,916 votes

Tuesday, April 19, 10:15 p.m.: We’ve updated the vote count with the last tranche of voting data that will be released tonight. Be sure to check back in the coming days for more updates. The vote will be certified on or before April 28. —Will Jarrett

Tuesday, April 19, 9:15 p.m.: Take a look at the maps below to see where votes for Haney and Campos came from and explore which areas had the highest turnout. —Will Jarrett

Assembly District 17 election: Preliminary results

Data from Department of Elections. Some precincts have declared their votes as groups; look at the title of each pop-up to see where this has happened. See the full map here.

Turnout: Preliminary results

Data from Department of Elections. Some precincts have declared their votes as groups; look at the title of each pop-up to see where this has happened. See the full map here.

Assemblyman-elect Haney greets jubilant supporters at the aptly named Victory Hall. Photo by Madison Alvarado.

Tuesday, April 19, 8:55 p.m.: The fog of war has lifted tonight in the special election for San Francisco’s Assembly seat, and it has the makings of a Matt Haney rout. 

Both Haney and David Campos’ campaigns earlier told Mission Local that a deficit of more than 5 percent would be difficult to make up. And Campos is facing a shortfall nearly six times that amount.

With 58,201 votes reported in the first batch of the night (21 percent of the electorate so far), Haney has a commanding lead of 37,133 to 21,068 (64 percent to 36 percent). That’s a 16,000 vote difference. If tonight’s turnout matches February’s, then fewer than 40,000 votes remain to be counted, making a Campos comeback nigh-impossible.

“I’m not shocked,” says Haney. “We campaigned in every neighborhood. We likely won in every supervisor district. We worked hard. This was decisive. I respect David. I don’t have anything bad to say about him.”

Haney, who spoke in a measured monotone, described himself as “calm, but a little bit shell-shocked.” 

The outcome mirrors Haney’s crushing victory in the 2018 District 6 supervisor’s race. While the contest was described as contested as late as Election Day, the initial drop of votes revealed an obliterating Haney win.

Mission Local’s Madison Alvarado said word of the results filtered through Haney’s election-night soiree at the aptly named Victory Hall as cell-toting guests happily played a literal telephone game with the news.

“Hugging and some shouts of joy begin as word slowly makes its way through the crowd,” she wrote. “Another supporter is walking around saying, ‘We did it!'”

At Campos’ El Rio gathering, attendees were, at first, either ignoring the results or not letting it get them down, said Mission Local’s Eleni Balakrishnan. Much early attention was instead focused on the event’s fajita bar.

Shortly after the results dropped, she wrote, “The mood is still light, and no one seems to have given up hope yet.”

It appears there was time for that later. Campos would go on to concede the election. The gaudy margin of victory also renders it likely that Campos will not mount a third campaign in June, which was a good possibility even in the event of a competitive loss.

After momentarily ducking out of the limelight when the initial results rolled in, Balakrishnan reports that a somber Campos emerged to tell his supporters that the day was not theirs.

“We have to try different approaches and strategies, and … we have to rethink what it means to be progressive,” he said at the event. Campos conceded that he is a “bad politician” because he’ll say what he believes, regardless of the consequences. “Big money,” he said, “has figured out how to win elections.”

Campos’ campaign manager, Daniel Anderson, said tonight’s outcome “shows where the electorate is, in a special election in San Francisco in 2022. And I think the message is pretty loud and clear. We saw it once with the school board recall election. We saw it once now.”

At Haney’s soiree, the candidate arrived to a hero’s welcome, reports Alvarado.

The DJ, appropriately, greeted him by blasting “All I do is Win.” —Joe Eskenazi, Madison Alvarado and Eleni Balakrishnan  

David Campos breaks the bad news to his supporters. Photo by Eleni Balakrishnan

Tuesday, April 19, 6:45 p.m.: Both candidates have been out on the town today in the final hours before polls close. We checked in with David Campos when he arrived at his old stomping grounds in the Mission District this evening.

Along with fellow former San Francisco supervisor Mark Leno, who himself matriculated to Sacramento, Campos wove among the vendors of fruit cups and bath supplies at the 16th Street BART plaza, asking residents if they remembered to vote.

To those unaware that today is Election Day, he stopped to introduce himself as potentially the first Latino to represent San Francisco in the Assembly, switching to Spanish when needed, and directed them to the nearest ballot box. Several people excitedly announced that they had already voted for him, to Campos’ profuse thanks.

“It’s all about the ground game, and we’ve had an amazing ground game,” Campos tells me, pleased with the support he’s gotten.

It’s certainly been a long day hitting the pavement, with big names along for the trek. Campos said his team’s first shift began at 5 a.m. today, and he personally canvassed in Bernal with Supervisor Hillary Ronen, around North Beach and Chinatown with Supervisors Aaron Peskin and Connie Chan; in the Haight with Supervisor Dean Preston, and also made appearances in the Castro, Excelsior, and Bayview.

“That’s how we’re gonna win,” he explains to Leno after outlining his day. Someone walks by: “You have until 8 — two hours!” he calls out. —Eleni Balakrishnan

Two hours before polls close, AD 17 candidate David Campos explains to a resident: “That’s me!” He is accompanied by former supervisor and state senator Mark Leno. Photo by Eleni Balakrishnan.

Tuesday, April 19, 12:45 p.m.: San Francisco is to voting what Joey Chestnut is to hot dog-eating. But even by those standards, this is an excessive year. To wit, voters last week were already receiving reminders to vote in June’s election, prior to today’s election. We’ll also be voting in November.

With that in mind, those querying how long it’ll take to have decisive results from today’s election appear to be doing so with more than a little desperation; election fatigue is real.

The answer: It may take a while.

Election department boss John Arntz informs us that, as of this morning, some 62,000 ballots have made their way to City Hall — 21 percent of the 290,000-odd ballots mailed to Assembly District 17 voters. “I think we’ll have around 57,000 vote-by-mail ballots included in tonight’s results reports,” he continues.

If either Matt Haney or David Campos is up by a significant amount at day’s end, we can get a very strong indication of who’s going to win. But that may not necessarily happen, and many thousands of votes could be tallied over the next several days.

In February, for example, the first election drop had around 60,000 votes in the Assembly contest. The last tally released on Election Day, Feb. 15, had about 65,000. Eventually, nearly 94,000 votes were counted in that race (33 percent turnout for Assembly District 17).

It remains to be seen whether we can reach that level of turnout in April. Regardless, barring a blowout, it’ll be hard to have a declared winner tonight; a margin of a few thousand votes would not be definitive.

“I won’t know the number of Vote By Mail ballots voters delivered to polling places and drop-boxes, or provisional ballots cast, until Wednesday,” Arntz writes.

“I must certify the election by April 28, which is likely when certification will occur.” —Joe Eskenazi

A mural near 20th and Shotwell was completed in late 2020, as election season loomed. Photo by Annika Hom.

Tuesday, April 19, 11:25 a.m.: If you’re searching for some elusive motivation to go and vote, here’s an idea: Keep a poll worker company. Mission Local’s Lydia Chávez has perambulated to several voting places Downtown and at City Hall, and it’s a ghost town. At precinct 7614, at 44 McAllister St., a grand total of zero people had shown up to vote, as of 10:45. At precinct 7628, the tally was one voter.

“All municipal elections have a low turnout,” said Alan Lowe, a poll worker. “Sometimes people come in and are not familiar with the ballot and don’t vote.”

That would be a feat today, as the contest is a head-to-head matchup between Matt Haney and David Campos … and that’s all.

Voter fatigue, it turns out, is a thing. This is the second of four elections in 2022 for Assembly District 17; the mechanics of David Chiu resigning to become City Attorney triggered two sets of primaries and general elections.

City Hall this morning was only marginally more bustling. One poll worker estimates only 200 or so people have walked in to vote in the past month. “The place is empty, except for the poll workers,” reports Chávez. —Lydia Chávez and Joe Eskenazi

Democracy inaction. Photo by Lydia Chávez.

Tuesday, April 19, 5 a.m.: As of Monday, some 59,000 ballots have found their way back to the Department of Elections in the basement of San Francisco’s City Hall. 

That’s about 20 percent of the electorate. Despite ballots being sent out some five weeks ago; despite the vast majority of registered voters having those ballots delivered right to their doors; despite postage being paid; despite this being a simple, binary decision between Assembly candidates David Campos and Matt Haney, four out of five Assembly District 17 voters haves not yet registered their choice. 

So it’ll be a low-turnout election. The only question is, how low? In February’s primary, only 36 percent of the electorate made an effort. And, remember; that (low) turnout was driven by the Board of Education recall. Some 180,000 voters showed up in February, but only a shade under 94,000 voted in the Assembly race (Assembly District 17 does not cover the entire city, with only some 288,000 voters. That’s not quite 33 percent turnout.). 

All of which is to say: Tuesday’s election will feature paltry participation, and anything other than a minor lead will be tough to overcome. Whoever is leading when the first round of votes drops at around 8:45 p.m. is in the catbird seat, because not many votes are going to follow. 

“If one of us is up — and I hope it’s me — by any significant margin in that first drop, I think the race is over,” predicted Haney. 

His opponent’s campaign agrees: “If we’re ahead in the early returns, I’m confident we’ll stay ahead,” said Daniel Anderson, Campos’ campaign manager. Anything more than a three,  four or perhaps five percent margin between the candidates will be challenging to come back from. 

Campos’ campaign is hoping that he will either gain on Haney or pad his lead throughout the night as later votes are tabulated. 

That’s par for the course in San Francisco elections, in which more progressives tend to vote later. It must be said that the Campos-Haney tilt is not exactly a traditional San Francisco progressive-moderate contest. But, regardless, in February’s election, Campos gained 1,042 votes on Haney between the initial drop and the final tally (Haney outpolled Campos by 742 votes in February).

This may or may not be a harbinger of what’s to come, as the dynamics of February’s multi-candidate race are a less-than-perfect analog for  Tuesday’s head-to-head runoff. Other confounding factors include the subsequent heavy anti-Campos Independent Expenditure spending tying Campos to Chesa Boudin and depicting him as anti-housing, as well as a hearty Haney endorsement from erstwhile candidate Bilal Mahmood.  

Also counfinding: The likelihood that, at this point, 94,000 overall votes is not an attainable target in April. 

“If one of us is up — and I hope it’s me — by any significant margin in that first drop, I think the race is over.”

Supervisor Matt haney

It’s important to keep track of not only how many votes there are, but who is voting. Campos’ polling shows him doing far better with new voters, who did not participate in February’s election. Haney, correspondingly, says that getting voters to the polls who have already voted for him is crucial, as is maximizing participation from voters from his home district, District 6, who showed up for him in numbers last time around.

Both candidates can produce polls that indicate they will win. The major difference between those polls is that Haney’s revealed a supermajority of erstwhile Bilal Mahmood supporters going for Haney, while Campos’ poll showed a far more modest percentage going to Haney. 

Mahmood tallied 20,895 votes in February, good enough for 22 percent of the vote. These voters would figure to be a major factor in Tuesday outcome, whether or not they choose to vote. 

The credibility of both campaigns’ polling will be decided, along with the election.

Mission Local will be covering Election Day in the field, will attend the candidates’ gatherings this evening, and will provide on-the-spot reporting and analysis when results come in. Check back here throughout the day for updates.  —Joe Eskenazi

Follow Us

Managing Editor/Columnist. Joe was born in San Francisco, raised in the Bay Area, and attended U.C. Berkeley. He never left.

“Your humble narrator” was a writer and columnist for SF Weekly from 2007 to 2015, and a senior editor at San Francisco Magazine from 2015 to 2017. You may also have read his work in the Guardian (U.S. and U.K.); San Francisco Public Press; San Francisco Chronicle; San Francisco Examiner; Dallas Morning News; and elsewhere.

He resides in the Excelsior with his wife and three (!) kids, 4.3 miles from his birthplace and 5,474 from hers.

The Northern California branch of the Society of Professional Journalists named Eskenazi the 2019 Journalist of the Year.

Founder/Executive Editor. I’ve been a Mission resident since 1998 and a professor emeritus at Berkeley’s J-school since 2019 when I retired. I got my start in newspapers at the Albuquerque Tribune in the city where I was born and raised. Like many local news outlets, The Tribune no longer exists. I left daily newspapers after working at The New York Times for the business, foreign and city desks. Lucky for all of us, it is still there.

As an old friend once pointed out, local has long been in my bones. My Master’s Project at Columbia, later published in New York Magazine, was on New York City’s experiment in community boards.

Right now I'm trying to figure out how you make that long-held interest in local news sustainable. The answer continues to elude me.

DATA REPORTER. Will was born in the UK and studied English at Oxford University. After a few years in publishing, he absconded to the USA where he studied data journalism in New York. Will has strong views on healthcare, the environment, and the Oxford comma.

REPORTER. Eleni is our reporter focused on policing in San Francisco. She first moved to the city on a whim nearly 10 years ago, and the Mission has become her home. Follow her on Twitter @miss_elenius.

FREELANCER. Madison Alvarado was raised in the Bay Area and moved to San Francisco after attending undergrad at Duke University. She fell in love with reporting in high school, and after a brief hiatus is eager to continue learning and growing as a storyteller. She has been covering UCSF's Grand Rounds since the summer of 2020.

Join the Conversation


Please keep your comments short and civil. Do not leave multiple comments under multiple names on one article. We will zap comments that fail to adhere to these short and very easy-to-follow rules.

Your email address will not be published. Required fields are marked *

  1. I am amazed by how few people are talking about the root of our housing shortage – rent control (and other anti-homeowner laws). Overall, the cost of housing is 68% higher due to rent control than if we abolished it. Of course (as over 93% of economists recognize), rent control makes it impossible for many homeowners to rent out their extra space and homes and reduces the amount of rental housing available. Rent control also makes it too expensive/ unaffordable for housing providers to create new housing. San Franciscans, let’s abolish rent control today.

  2. Wonderful news!! I am happy to see that San Franciscans united to elect Haney over the virulently anti-housing, anti-homeowner, and anti-job Campos. Now, let’s focus on recalling the cruel, anti-victim, incompetent, and corrupt DA Boudin. Criminals need to on notice that if they murder, litter, rape, steal, torture, or violate sit-lie and anti-camping laws that they will be arrested and imprisoned, no exceptions. We need fair market-rate housing, not artificially subsidized and blighted ‘Affordable Housing’ that reduces the quantity and quality of housing, creating the housing shortage.

  3. Sadly, as in other elections, not all the votes from Tuesday’s election will be recorded accurately, because we don’t live in a real democracy.

    I wrote in “None of the Above” in the State Assembly race, but will you find any such votes listed by the Elections Department? No. Presumably they are classifying my write-in choice as an “undervote”, but it was NOT an undervote. I voted for exactly the number of candidates I intended to vote for – zero.

    Failing to tally all write-in votes (whether for “registered” write-in candidates or not), is an act of voter suppression. But local Democrats who often seem to care passionately about voter suppression when it occurs in places like Georgia, don’t seem bothered by a different form of this anti-democratic practice happening right here in San Francisco as a matter of routine.

  4. The right man won. Campos is a washed-up political hack, a has-been, and an opportunist. He will say say anything, or do whatever it takes, in order to get what he wants: power. Now that his campaign is defeated, will he go back to working for Chesa? Or will he hide out in another placeholder position for 2-4 years, then return to mount another ill-fated political campaign? Going by his track record, I think we already know the answer.

    1. Campos might “do a Peskin” and run for Supe when Ronen is timed out. We could have a life time of the two swapping places. Surely term limits were never meant to be abused this way?

  5. Haney may have adopted some YIMBY talking points, but this election is hardly a YIMBY mandate. It’s not as if we have an independent local newspaper that keeps people informed, so a lot of people still see Haney as a progressive, and he got a lot of support from Labor. Haney happens to be a perfect candidate — smart, personable, with boy-next-door looks. He’s hardly your typical YIMBY. Campos did not have the money or a particularly good campaign. But also don’t forget, as badly as he beat Campos, he beat YIMBY Queen Bee, Sonja by even more.

    1. You seem to really want this to be true (and have a terribly hard time reading the moment)

      SF is changing dramatically and the crusty old activist class is on the way out. They only have a decade or so left on this world anyway, but it heartens me that they’ll get to witness this shift.

      A bunch of ugly, angry has-beens who pretend to be kind & “care” as they spew hate towards their neighbors and try their best to make life miserable for everyone else.

      Don’t let the door hit you on the way out..

      1. The progressive faction in SF does not have a monopoly on angry hate-spewing. Have you listened to the contempt and bigotry toward the homeless expressed by some of the shriller voices in the online commentariat?

        Too many poor people and their advocates are bigoted toward the wealthy, and too many wealthy people are bigoted toward the poor. Haters who are rich don’t want more poor people living in The City, and haters who are poor don’t want more rich people living in The City. The intolerance found in each faction eerily mirrors that of the other.

        Rodney King famously asked, “Why can’t we all just get along?” The answer, I believe, is that we have a culture in which, instead of leaving others alone if they aren’t initiating force or fraud against anyone, various factions and groups are each basically seeking to get control of the State so they can force their agenda on others.

      2. @doris, you really have an evil streak! 😈 hopefully you’ll age out more mentally healthy than You exhibit currently

  6. Campos lost my vote years ago when he would attend the opening of an envelope if it was thrown by certain special interest groups, but wouldn’t come to neighborhood meetings to talk to actual residents about their concerns. Ronen makes a better show of talking to us, but never actually does anything based on what we tell her. I’ll never vote for her either.

  7. Wonder how long it will take Breed to appoint Haney’s replacement. It’s not like she hasn’t had time to think about it.

  8. it’s my first time that i didn’t vote since i became a US citizen 6 years ago.
    why? i did not care at all for either candidate. both are just too emblematic of what’s wrong with the City (and the state as well).
    the only reason i would have voted for Campos is to deny Breed the selection of a new supervisor.

  9. Campos and his city funded politically active poverty nonprofit base have nothing to say to San Franciscans above and beyond “other people have it worse than you, so stfu and fund our nonprofits.”

    That limited appeal cannot beat an amoral weasel as adroit at exploiting the political moment as Campos is at manipulating the elites.

    Campos’ narcissistic, selfish campaign for an office he’d already lost actually pushed Haney to the right. At least the Campos dumpster fire has been extinguished.

    Somebody clean that up.

  10. The notorious anti-housing Campos got trounced nearly 2 to 1.

    That’s the power of the youth-led YIMBY movement on full display.

    All SF politicians aspiring to higher office had better pay attention — and Haney better deliver pro-housing legislation and votes at the State level !

    1. Ever notice how real estate shills like Karl and Tom never mention how much more housing would exist RIGHT NOW if longterm vacancies and Airbnb were disallowed?

      1. Ever notice how shills for NIMBY homeowners like Chaz, keep harping on some mysterious existing supply of housing that’s being kept off the market rather than face the fact that we have a chronic shortage of housing (and the attendant runaway housing costs) based upon 5+ decades of anti-housing policies due to NIMBY-led local governments?

      2. Dear Chaz, Canpos’s attacks on small property owners have not been forgotten. Blame even stricter rent control and Campos for the small amount of Airbnb’s & vacancies. It’s not worth it to the average person to risk their biggest asset with progressives that somehow believe it’s theirs.
        David Canpos & Jane Kim ran afoul of the public’s trust with their many ill fated extreme laws. Good riddance to both. Just like Preston you can’t have it both ways.So long progressive SF.

      3. So someone who thinks we should be building homes for all residents and income levels is a “real estate shill?”

        That’s some serious class war you’ve got going on there!

      4. Homesharing sites like AirBnB allow ordinary residents to compete with big corporate hotels, so that some of the money travelers and tourists spend on lodging goes directly to individuals and families. They should not be blamed for the government-created housing shortage. To address that shortage effectively, we need reforms like rolling back zoning laws, restrictions on inlaw apartments, laws criminalizing tiny homes, etc. – not *more* government controls.

    2. I believe this is largely correct. The race seemed to be a referendum on housing more than anything else, and – although the two candidates are actually quite similar when you look at the bigger picture – Haney was distinctly more pro-housing, and I believe that’s a major reason why he attracted many more votes than Campos.

  11. Hope the people of SF have spoken.
    Looks like all Bilals votes went straight to Haney, the more moderate candidate.
    Campos was always too radical and divisive. Many of the things he did as a Sup we struck down by the courts costing all of us tax payers.

  12. “heavy anti-Campos Independent Expenditure spending tying Campos to Chesa Boudin and depicting him as anti-housing”

    It was not the expenditure spending that linked Campos to Boudin. It was Campos himself who created that ill-fated link, by choosing to work for Boudin.

    And Campos does come across as being opposed to any new housing that is not 100% subsidized.

        1. Yes, you are so inclusive that you demand that other leave who don’t agree with you. Real mature and evolved.

          I am staying. You can’t suppress the truth, and this election result proves that.

    1. However the link was constructed it is the main line of anti-Campos mailers which anyone can see. Campos has advocated affordable housing, not “100 percent subsidized” (which no one has ever advocated). How Campos “comes across” to someone is not the same as his actual positions and record.

      1. How is ‘affordable housing’ not in any way “subsidized”. Whether its “100%” or 75% or 25%

        “Affordable housing” is paid for by someone other than the ones who occupy it. Even “affordable” units in mixed, market rate developments are subsidized by those market rate units, plus whatever other subsidy the developers garnered.

      2. Both Campos and acolyte Ronen have repeatedly insisted on killing housing development that didn’t meet their higher than required BMR units… Ronen in a constituent reply to me re the Nordstrom parking lot development disaster again repeated her stance that we shouldn’t settle for less than 100% bmr. Perfect is the enemy of progress as these two D9 goobers have repeatedly demonstrated.