Skip to content

Pennsylvania election: Corey O’Connor defeats Pittsburgh Mayor Ed Gainey in Democratic primary

HARRISBURG, Pa. (AP) — Challenger Corey O’Connor ousted Pittsburgh Mayor Ed Gainey in Tuesday’s Democratic primary election, beating an incumbent in a race that hinged on how Gainey was handling city finances, affordable housing and public safety.
860e0f98e9e2ed04b72e0e5fad4fd4a42985e45aadbd7d1938c4d5d278bc0695
FILE - Pittsburgh mayoral candidate Corey O'Connor speaks at a candidate's forum held at Perry Traditional Academy in Pittsburgh, April, 24,. 2025. (AP Photo/Gene J. Puskar, File)

HARRISBURG, Pa. (AP) — Challenger Corey O’Connor ousted Pittsburgh Mayor Ed Gainey in Tuesday’s Democratic primary election, beating an incumbent in a race that hinged on how Gainey was handling city finances, affordable housing and public safety.

O’Connor is all but assured of winning November’s general election against a low-profile Republican nominee in a city that hasn’t elected a GOP mayor in nearly a century.

The race for Pittsburgh mayor hinged on local issues, driven by unhappiness in some quarters with Gainey’s management, rather than the questions dividing the national Democratic Party. On the other side of the state, won the Democratic primary for Philadelphia district attorney driven by nationalized themes of criminal justice reform and Krasner’s positioning himself as a guardian of the city against President Donald Trump’s conservative agenda.

O’Connor, the Allegheny County controller, is the son of a former Pittsburgh mayor and had won the local party’s endorsement over Gainey, who had allied himself with progressives.

Gainey, the city's first Black mayor and someone who grew up in subsidized housing, beat predecessor Bill Peduto in 2021’s primary campaign. He portrayed himself as someone who sides with regular people and as a “mayor that’s going to fight for you” when the Trump administration threatens the city.

Gainey touted the city’s strong economy and contended that he had held the line against tax increases, been saddled with the mistakes of prior administrations and had overseen dropping crime rates.

But O’Connor criticized Gainey’s management of the city, saying Gainey was reckless with city finances, fell badly short in expanding affordable housing, and lacked vision to bring businesses back to downtown after the COVID-19 pandemic and the devastating collapse of the hometown steel industry.

He also said people didn’t feel safe in Pittsburgh and that city vehicles — including snow plows and ambulances — were breaking down at critical times.

O’Connor benefited from support from builders and developers amid friction over Gainey’s affordable housing plan, and O’Connor's campaign and allied groups outspent Gainey's side, which had support from the liberal Working Families Party and Service Employees International Union.

Still, unions were divided in the race, and affordable housing groups had criticized Gainey’s efforts. O’Connor, meanwhile, characterized the city under Gainey as headed for a “financial crisis” that threatened quality of life and public safety, a crisis that O’Connor confidently said he could fix.

Gainey, he said, was leading the city “down a path of managing our decline.”

“That financial crisis is going to impact each and every one of us, each and every day,” O'Connor said during a televised May 8 debate. "It’s going to stop our ability to fill in your potholes. It's going to stop our ability to buy new ambulances and equipment for public safety to keep you safe.”

Gainey conceded Tuesday night and called himself a “mayor of change” who had worked to boost affordable housing, reduce the murder rate and let residents know that his administration was "there for them.”

“It wasn’t the popular message, but it was the populist message,” Gainey told KDKA-TV.

There were also two statewide courts contests on Tuesday’s ballots.

Here’s what to know about the contests:

Philadelphia district attorney

Krasner defeated Pat Dugan, a U.S. Army veteran who served in Iraq and Afghanistan and was the head administrative judge of the Philadelphia Municipal Court before he resigned to run.

Krasner is seeking a third term after withstanding by Republican state lawmakers and years of being a campaign trail punching bag for Trump.

Krasner has the benefit of in big US cities, including Philadelphia, after they rose sharply during the COVID-19 pandemic.

Dugan had aimed to make the race about Krasner’s crime-fighting policies — he called Krasner “Let ’em Go Larry” — and accused the incumbent of staffing the district attorney's office with ill-prepared and inexperienced lawyers.

Krasner originally ran in 2017 on a progressive platform that included holding police accountable and opposing the death penalty, cash bail, prosecuting minor nonviolent offenses and a culture of mass-incarceration.

Like some big-city Democrats, Krasner has turned toward messaging, maintaining that he is serious about pursuing violent crime and touting new technologies and strategies that his office is using to solve or prevent crime.

Krasner has repeatedly invoked Trump and suggested that he was the best candidate to stand up to him. In a TV ad, he cast himself as the foil to “Trump and his billionaire buddies, the shooting groups and gun lobby, the old system that denied people justice for too long. They can come for Philly, but I’m not backing down.”

Dugan had invoked Trump, too, saying in a TV ad that Philadelphia faces the threats of crime, injustice and a “president bent on destruction.” He also accused Krasner of failing to deliver “real reform or make us safe. Now he wants us to believe he can take on Trump? Get real.”

Courts

Two statewide court seats are opening up, one on the Commonwealth Court and one on the Superior Court.

Democrats didn't have a primary in either contest, with Washington County Judge Brandon Neuman running uncontested for Superior Court and Philadelphia Judge Stella Tsai running uncontested for Commonwealth Court.

On the Republican ticket, Clarion County lawyer Maria Battista won the Superior Court contest, defeating the party-endorsed Ann Marie Wheatcraft, a Chester County judge. In the Commonwealth Court contest, Matt Wolford of Erie County, a former state and federal prosecutor, defeated Josh Prince of Berks County, a prominent gun rights lawyer.

The 15-member Superior Court hears appeals of civil and criminal cases from county courts. The nine-seat Commonwealth Court hears challenges or appeals from county courts in cases involving laws or government actions. Judges are elected to 10-year terms.

___

Follow Marc Levy on X at .

Marc Levy, The Associated Press

push icon
Be the first to read breaking stories. Enable push notifications on your device. Disable anytime.
No thanks