Top Stories

O’Connor knocks off incumbent Gainey in Pittsburgh’s Democratic mayoral primary; Moreno gets GOP nod

Julia Burdelski
By Julia Burdelski
4 Min Read May 20, 2025 | 7 months Ago
Go Ad-Free today

Corey O’Connor knocked off incumbent Mayor Ed Gainey in Pittsburgh’s Democratic mayoral primary Tuesday night, while former police officer Tony Moreno secured the GOP nomination.

O’Connor, 40, emerged to deliver his victory speech at Nova Place on the city’s North Side around 10:30 p.m., with he and his wife triumphantly holding hands over their heads as supporters boisterously cheered, “Corey! Corey! Corey!”

“I’m humbled by the opportunity to represent the Democratic Party in this year’s general election,” O’Connor said during a 10-minute speech. “I will work hard to seek the privilege of serving you, the people of Pittsburgh, as your next mayor.”

About the same time at the Pittsburgh Federation of Teachers headquarters on the South Side, Gainey congratulated O’Connor and told supporters his opponent ran a well-designed campaign.

“There ain’t no regrets. There’s progress,” Gainey said. “Don’t be defeated. Don’t be sad. Be glad of the progress we made.”

With 99.3% of precincts reporting unofficial results just after midnight and nearly 19,000 mail-in votes tallied, O’Connor had collected 52.7% of the votes counted compared with 47% for Gainey. Write-in candidates accounted for fewer than half a percent of the votes.

On the Republican side, Moreno collected 61.9% of the votes counted compared with 26.6% for small-business owner Thomas West, according to unofficial results. Write-in candidates accounted for nearly 12% of the votes.

West called Moreno to concede just before 10 p.m., according to West’s campaign spokeswoman.

“He congratulated him,” spokeswoman Anissa Zappala said. “It was a brief conversation. We want to see the city move forward.”

Moreno will face a steep uphill climb. A Republican hasn’t served as mayor in Pittsburgh since 1934, and Democrats hold an overwhelming voter registration advantage. In Tuesday’s contested primaries, more than 59,000 Democrats cast ballots compared with about 4,600 Republicans.

Pittsburgh’s mayoral primaries had been hotly contested.

O’Connor, of Point Breeze, serves as Allegheny County controller. A former city councilman, he is the son of the late Mayor Bob O’Connor.

O’Connor has argued the city needs new leadership. He campaigned on promises to rein in city spending amid financial challenges, install stable leadership in a police bureau that has seen five different top cops under Gainey’s tenure and convince the city’s major nonprofits to fund essential needs, like ambulances.

Gainey, 55, of Lincoln-Lemington, is a former state representative who unseated former Mayor Bill Peduto in the 2021 mayoral election.

Gainey has sought to portray his first three years in office as a success story. He often highlighted decreasing homicide rates, a $600 million Downtown revitalization plan and a successful bid to host the 2026 NFL Draft as wins for his administration.

Gainey and O’Connor sparred throughout a divisive campaign season over affordable-housing data and whether the other has accepted money from Republican donors linked to President Donald Trump. They’ve pitched differing plans for how to bolster the city’s supply of much-needed affordable housing, revitalize a Downtown that has seen property values plummet since the covid-19 pandemic and improve recruitment and retention for an understaffed police force.

The Allegheny County Democratic Committee narrowly endorsed O’Connor, while council members, labor unions and voters have been sharply divided over the candidates.

During his victory speech Tuesday night, O’Connor said his top priorities as mayor would include hiring a new police chief, being more transparent about financial challenges facing the city and working to grow the city’s residential population and business sector. He said the city also needs to invest in its aging vehicle fleet and convince nonprofits to provide payments in lieu of taxes.

In the meantime, O’Connor said, he and Gainey are hoping to meet in the coming weeks to talk about the future of the city and what they can do to reunite a divided Democratic Party ahead of the November election.

“There’s a lot to do, but we we have to win in the fall first,” O’Connor said.

The Republicans largely portrayed themselves as changemakers and lambasted the city’s Democratic leadership. They’ve argued a Republican would bring fresh perspectives to a city long governed by one party.

Both Republicans campaigned on pledges to grow Pittsburgh’s police bureau, clamp down on homeless encampments and cut back on spending.

Moreno, 56, of Brighton Heights spent 24 years as a Pittsburgh police officer. He came in third in the 2021 Democratic mayoral primary before running as a Republican in the general election, when he lost to Gainey.

West, 48, of Highland Park owns a men’s clothing store in Lawrenceville. He previously worked as a television news producer and is a political newcomer.

Share

Tags:

About the Writers

Julia Burdelski is a TribLive reporter covering Pittsburgh City Hall and other news in and around Pittsburgh. A La Roche University graduate, she joined the Trib in 2020. She can be reached at jburdelski@triblive.com.

Article Details

No contested races for Pittsburgh City Council There were no contested primary races for Pittsburgh City Council in this year’s…

No contested races for Pittsburgh City Council
There were no contested primary races for Pittsburgh City Council in this year’s primary.
District 2 will elect a new council member for the first time in a decade as incumbent Councilwoman Theresa Kail-Smith opted not to seek another term.
Kim Salinetro, 58, of Banksville, Kail-Smith’s longtime chief of staff, was the lone Democrat in the race. Erin Koper, 44, of Elliott, who garnered attention by criticizing the city’s Democratic leadership at the Republican National Convention, was the sole Republican running.
District 2 includes Banksville, Chartiers City, Crafton Heights, Duquesne Heights, Mount Washington, East Carnegie, Elliott, Esplen, Fairywood, Oakwood, South Shore, Sheraden, West End, Westwood and Windgap.
Beechview Councilman Anthony Coghill was the lone Democrat running in District 4. Tracy Larger, 58, of Brookline, an advertising consultant, was the sole Republican in the race.
District 4 includes Beechview, Bon Air, Brookline, Carrick, Mount Washington and Overbook.
In District 6, Council President R. Daniel Lavelle, of the Hill District, was the only Democrat on the ballot. Jacob Dumont, 33, of Marshall-Shadeland, who operates an online platform called Northside Action Media, was the only Republican on the GOP ballot.
The district includes Perry Hilltop, the Hill District, Marshall-Shadeland, Uptown, Manchester, California-Kirkbride and parts of Downtown and the North Shore.
In District 8, which includes Shadyside, Squirrel Hill and part of Oakland, Councilwoman Erika Strassburger of Squirrel Hill was the only Democrat on the ballot. No Republicans ran for the seat.

Push Notifications

Get news alerts first, right in your browser.

Enable Notifications

Content you may have missed

Enjoy TribLIVE, Uninterrupted.

Support our journalism and get an ad-free experience on all your devices.

  • TribLIVE AdFree Monthly

    • Unlimited ad-free articles
    • Pay just $4.99 for your first month
  • TribLIVE AdFree Annually BEST VALUE

    • Unlimited ad-free articles
    • Billed annually, $49.99 for the first year
    • Save 50% on your first year
Get Ad-Free Access Now View other subscription options