Jun 25

2025

Five takeaways from the Buffalo mayoral primary

Sean Ryan did a better job turning out his base than Chris Scanlon did. In doing so, he won 6 of 9 Council districts. Ryan’s messaging also connected with voters better than Scanlon’s.


Editor’s note: This story was updated Wednesday at 7:15 p.m.

State Sen. Sean Ryan scored a resounding victory in Tuesday’s Democratic primary for Buffalo mayor, beating Acting Mayor Chris Scanlon — his chief rival — by 11 percentage points.

Ryan finished with over 46 percent of the vote in the five-way race, while the incumbent had just over 35 percent.

The three other candidates — former fire commissioner Garnell Whitfield, University District Council Member Rasheed Wyatt and former Assembly staffer Anthony Tyson-Thompson — split the rest.

Here are five takeaways from yesterday’s results:

It was all about turnout

Ryan’s base showed up at the polls. Scanlon’s did not — at least not in the numbers he needed to win.

The Delaware District, where Ryan lives and which he has represented in Albany since 2011, turned out in greater numbers than in any of the past five mayoral primaries.

The South District, which Scanlon has represented on the city’s Common Council since 2012, voted in lesser numbers than it did in three of the last five primaries. 



Only about 27 percent of the city’s registered Democrats cast a ballot. That’s about the average of four of the previous five mayoral primaries. The one exception was in 2009, when the contest between Byron Brown and Mickey Kearns brought more than 40 percent of registered Democrats to the polls. 

This year, voters in the Fillmore and North districts largely stayed home, which is typical. The University District was quiet, too, compared to previous mayoral primaries. That’s surprising, given that Rasheed Wyatt, the district’s Council member, was on the ballot.

Fewer Masten voters cast ballots than in any of the past five primaries. In Lovejoy and Niagara, turnout was middling.

The Ellicott District turned out in big numbers, however. Ryan won 53 percent of the vote there, leaving the other four candidates to split the rest.

Ryan won 6 of 9 Council districts

Scanlon may not have turned out as many votes in the South District as he’d hoped, but he won 81 percent of the vote on his home turf. 

The acting mayor also won Lovejoy with 53 percent of the vote. He won Fillmore — which includes the Old First Ward and Allentown — by 80 votes.

Ryan won the other six districts.



The Delaware District propelled Ryan to victory. He took just over two-thirds of the vote there, outpacing Scanlon by 2,202 votes.

Ryan’s margin of victory citywide was 2,971 votes.

Niagara District voters didn’t turn out in huge numbers, but three-quarters of those who did cast ballots for Ryan. The state senator took 56 nearly 57 percent of the vote in the North Districtm whose council member endorsed Scanlon.

Wyatt, the University District Council member, finished second on his home turf. Ryan beat him by 124 votes.

Early voting was big — and evenly split

City Democrats cast 7,500 early votes, about double the number of early votes cast in 2021. 

South Buffalo, Scanlon’s base, accounted for 26 percent of early votes cast. The Elmwood Village and the West Side — regarded as Ryan’s base — accounted for 28 percent. 

East Side voters cast nearly 22 percent of early ballots; North Buffalo voters, nearly 21 percent. The remainder came from Black Rock and Riverside, where early voting was light.


Subscribe to our free weekly newsletters
  • This field is for validation purposes and should be left unchanged.


Scanlon pushed hard to win the early vote and he did — by 103 votes, about 1.4 percent of the total. The other three candidates — Whitfield, Wyatt, and Tyson-Thompson — pulled in 943 early votes between them.

Absentee and provisional votes are still being added to the preliminary totals published by the Erie County Board of Elections.

Negative campaign ads helped Ryan, hurt Scanlon

Several voters interviewed Tuesday by Investigative Post reporters said they were moved by Ryan’s efforts to link Scanlon to the Paladino family and their companies, which contributed significantly to the acting mayor’s campaign.

“Paladino is trash,” one voter said.

“It seems like he [Scanlon] is taking a lot of money from a lot of shifty places,” said another.

Meanwhile, the Scanlon campaign’s efforts to tie Ryan to India Walton seem to have backfired, according to sources on the Ryan campaign. 


Buy your tickets now for our July 31 benefit concert


After Walton beat the four-term incumbent Brown in the 2021 Democratic primary for mayor, Ryan endorsed her as the party’s nominee in the general election. Scanlon helped organize Brown’s successful write-in campaign that summer and fall, which entailed characterizing Walton and her supporters as dangerous radical socialists who wanted to defund the police.

Scanlon tried pinning the same label on Ryan, sending mailers and airing TV ads showing Ryan standing with Walton four years ago. The mailers and ads also scolded Ryan for his support of bail reform legislation.

Those efforts met with less success against Ryan than they did against Walton, in no small part because Ryan is white, male, and a relatively moderate progressive — while Walton is Black, a woman, and a democratic socialist.

Walton is also pretty popular among city Democrats, sources on the Ryan campaign told Investigative Post. Ryan’s campaign early in the race polled favorability ratings of well-known Democrats in the city, to take the electorate’s temperature. Walton scored higher than anyone else named in the poll, including Ryan and Scanlon.

When the Scanlon campaign sent out mailers linking Ryan to Walton, “we viewed it almost as free advertising for Sean,” a campaign advisor said.

The general election could be crowded — or not

The Scanlon camp could use the low turnout as justification to keep campaigning into the fall, hoping to marshal a coalition to defeat the Democratic nominee — as Jimmy Griffin did in 1977 and Byron Brown did in 2021. 

Scanlon created an independent line, called the Good Neighbors Party, which ensures he’ll be on the ballot in November, should he choose that path.

Like Scanlon, Whitfield circulated a nominating petition for an independent party line on the November ballot — the New Buffalo Party. Scanlon’s camp has challenged the validity of that petition. The Erie Count Board of Elections Wednesday ruled against Whitfield. Whitfield later told WIVB he is ending his campaign.  

East Side businessman and community activist Michael Gainer was disqualified from the Democratic primary for a faulty nominating petition. He then successfully created his own line — the Restore Buffalo Party. He’ll be on the ballot in November.



There’s also a Republican nominee, attorney James Gardner. Gardner ran for Erie County District Attorney last November but was trounced by Democrat Mike Keane.

So Ryan, the Democratic nominee, could face five candidates — Scanlon, Whitfield, Gainer and Gardner — in the general election. 

Another five-way race.

It is also possible some of those candidates will bow out in the weeks and the months to come. The Ryan campaign will try to bring Scanlon and Whitfield supporters into the fold. Prominent Democrats will try to talk the acting mayor and the former fire commissioner out of continuing their campaigns, based on Tuesday’s results. 

In his concession speech, Scanlon said he had “some soul-searching” to do. 

Whitfield told Buffalo Toronto Public Media last night he’s “not going not going away under any circumstances. This is not just a campaign, it’s a movement.” 


Investigative Post