After a highly contested (and oftentimes heated) mayoral race, Corey O’Connor won the Democratic primary against Mayor Ed Gainey. That means he’s most likely Pittsburgh’s next mayor, since we haven't elected a Republican in almost a century.
Just 25% of registered voters cast a ballot in Allegheny County. That's lower than the last mayoral primary in 2021, when 29% of voters turned out. This year, a little over 227,000 ballots were cast, including nearly 78,000 mail ballots.
Let’s dig into the results ⬇️
🗳️ Pittsburgh Mayor
About 59,000 people voted for mayor in the Democratic primary, and about 4,600 people voted in the Republican primary.
Corey O’Connor beat incumbent Ed Gainey by a little over 3,000 votes with nearly 53% of the tally.
O’Connor celebrated at Nova Place on the North Side alongside several invitees who once worked for his father, the late Mayor Bob O’Connor, two decades ago. Gainey conceded and congratulated O’Connor on running a “well-designed campaign” at the Pittsburgh Federation of Teachers headquarters on the South Side.
In his victory speech, O’Connor reiterated campaign promises to better balance city finances, boost the police force, create more affordable housing, fix blighted property, and invest in local business districts.
O'Connor said in his victory speech: ”We have difficult challenges ahead, but our opportunities are endless and far more powerful. We have to start believing in ourselves again, Pittsburgh."
On the Republican ticket, Tony Moreno took the majority of votes against Thomas West and will appear on the ballot in November. This is his second time on the mayoral ballot; Gainey defeated him twice in 2021.
What’s at stake? The city is facing a tricky financial situation with expenditures outgrowing our ability to pay, declining tax revenue, and an already huge overtime bill.
🗳️ City Council
Pittsburgh voted for seats in Districts 2, 4, 6, and 8. All were uncontested races — except for District 2, where Democrat Amanda Neatrour ran a write-in campaign. Write-ins take more time to tally, but the 606 write-in votes mean she won't proceed to November. Here’s who will:
- District 2: Democrat Kim Salinetro and Republican Erin Koper
- District 4: Democrat Anthony Coghill and Republican Tracy Larger
- District 6: Democrat Daniel Lavelle and Republican Jacob Dumont
- District 8: Democrat Erika Strassburger (unopposed, pending a write-in)
🗳️ Ballot Measures
Pittsburgh voters approved all three ballot questions.
✅ Question 1: Non-Discrimination in City Business
Pittsburgh voted yes on a question that asked whether the city charter should prohibit business discrimination on the basis of protected classes, plus association or affiliation with any nation or foreign state. This means that Pittsburgh voters can’t ask the city to divest from a company because of its ties to a specific country.
- This ballot measure was in response to Not On Our Dime’s grassroots efforts to ask voters whether the city should divest from companies that do business with governments that are engaged in genocide. Not On Our Dime ultimately withdrew their petition.
✅ Question 2: Ownership of City's Water & Sewer System
Pittsburgh voted yes on a question that asked if the city charter can restrict the lease and/or sale of the city's water and sewer system to private entities. This means PghH2O must stay public, as it is now.
✅ Question 3: Lawful Scope of the City's Authority
Pittsburgh voted yes on a question that asked whether our charter should be amended to prohibit “duties or obligations beyond the lawful scope of the city’s authority.” This means drafters of future ballot questions will have to prove they’re asking the city to do something it has the legal authority to do.
- This question was also in response to Not On Our Dime's petition. Some city officials said it would’ve been impossible to enforce Not On Our Dime's proposal because their referendum wouldn't have been legal, and it isn’t related to city responsibilities.
🗳️ School Board
Five of nine seats were in contention, and one may take awhile — at reporting time, the District 9 race between Allie Petonic and incumbent school board president Gene Walker had not yet been called. Barring a Republican write-in campaign in November, these will be your new school board members:
- District 1: Tawana Cook Purnell
- District 3: Erikka Grayson
- District 5: Tracey Reed
- District 7: Eva Diodati
If Walker wins, all five candidates who ran together as a slate focused on improving outcomes for Black students will have been successful.
What’s at stake? Pittsburgh Public Schools is considering closing and consolidating school buildings. The PPS board will play a key role in this overhaul and efforts to make the district more equitable. They’ll also review the superintendent’s contract when it’s up in 2027.
🗳️ County Council
There are 15 seats in Allegheny County Council, and six were up for grabs. Here’s who will appear on the November ballot:
- District 1: Democrat Kathleen Madonna-Emmerling and Republican Mary Jo Wise
- District 3: Democrat Lissa Geiger Shulman and Republican W. Christopher Lochner
- District 4: Democrat Patrick Catena and Republican Bob Doddato
- District 8: Democrat Michelle Naccarati-Chapkis and Republican Michael Dell
- District 9: Democrat Aaron Adams (unopposed, pending a write-in)
- District 12: Democrat Bob Palmosina (unopposed, pending a write-in)
Note: District 13 will be chosen after the primary
What’s at stake? They create, amend, and approve county ordinances; appoint people to boards; approve millions in funding; and affect taxes. The next group could decide whether to pursue a countywide property reassessment, which would make your property taxes better reflect the current state of your home.
🗳️ Local Judges
Twenty-two candidates ran for eight open seats in the Allegheny Court of Common Pleas. These judges get assigned to four divisions: civil, criminal, family, and orphans’ court.
All eight candidates endorsed by the Allegheny County Democratic Committee will appear on the November ballot: Amanda Green-Hawkins, Dan Miller, Quita Bridges, Julie Capone, Anthony DeLuca, Heather Schmidt Bresnahan, Jaime Marie Hickton, and Matthew V. Rudzki. Seven of these candidates were recommended or highly recommended by the Allegheny County Bar Association, and four were endorsed in a “slate of eight” by a group of progressives focused on criminal justice reform.
Judges often crossfile because the job is considered nonpartisan, so some who didn’t win in the primary may run in November as Republicans.
🗳️ State Judges
Democrat Stella Tsai and Republican Matt Wolford will appear on the November ballot for the single open seat in the Commonwealth Court, which deals with civil cases involving the state government. There are nine members; Republicans currently hold the majority 5-3.
Democrat Brandon P. Neuman and Republican Maria Battista will appear on the November ballot for the single open seat in the Superior Court, which handles appeals from the Court of Common Pleas for civil, criminal, or family cases. There are 15 members; Democrats currently hold the majority 8-6.
🎧 Listen to today’s City Cast Pittsburgh podcast for more election results and analysis.


