Stacy GarrityScott PerryBrian FitzpatrickRob BresnahanRyan MackenzieMike KellyLloyd SmuckerGuy ReschenthalerDan MeuserGlenn ThompsonJohn Joyce LiesVoting Rights Pennsylvania

Pennsylvania Election 2026: The Good, the Bad and the Ugly

Pennsylvania voters threw out four Republican congressmen — Scott Perry, Brian Fitzpatrick, Rob Bresnahan and Ryan Mackenzie — flipped the state Senate and re-elected Josh Shapiro over Stacy Garrity, 60% to 38%. Perry lost by 10 points after running an ad that accused his opponent of exposing herself to a child, an ad several TV stations pulled. Fitzpatrick lost after suing to remove a Democrat from the board that would certify his race.

Pennsylvania Election 2026: The Good, the Bad and the Ugly
Photo: Ian Karbal / Pennsylvania Capital-Star

On Tuesday, Democrats flipped at least 25 U.S. House seats across the country. Four of them were in Pennsylvania.

All four Republican congressmen on this site in Pennsylvania's competitive House races lost, and so did their candidate for governor. The six who won got smaller shares than they did two years ago. And the closing weeks of the campaign brought out some of the ugliest tactics we've seen this year — none of which worked.

Here's the good, the bad and the ugly.

The good: four House seats, the state Senate and a trifecta

Going into Tuesday, Republicans held 10 of Pennsylvania's 17 seats in the U.S. House. Starting in January, Democrats will hold 11 and Republicans 6, according to the Pennsylvania Capital-Star. All the vote shares below are from NBC News' count as of Saturday.

At the top of the ticket, Stacy Garrity lost the governor's race to Gov. Josh Shapiro, 38.3% to 60.4%. That is worse than Republican Doug Mastriano did against Shapiro four years ago, when he got 41.7%. The AP called the race within two minutes of the polls closing. In 2020, Garrity supported Trump's efforts to overturn the election, the Capital-Star reported. This year she said Trump lost, then spent the rest of the answer saying "we know there were irregularities" — she just couldn't say "to what extent."

The state Senate flipped

Republicans had run the Pennsylvania Senate since 1978, except for a brief tie in 1993, according to WHYY. In September, Senate Majority Leader Joe Pittman told reporters he believed his party would grow its 27–23 majority by one seat.

Instead, Democrats beat four Republican senators:

  • Eileen Hartnett Albillar beat Sen. Frank Farry in the 6th District in Bucks County.
  • Mark Pinsley beat Sen. Jarrett Coleman in the 16th, in Bucks and Lehigh counties.
  • Chris Thomas beat Sen. Tracy Pennycuick in the 24th, in Montgomery and Berks counties.
  • Brian Wrightson beat Sen. Rosemary Brown in the 40th, in Monroe County and parts of Lackawanna and Wayne.

Republicans won back one seat in Lancaster County (more on that below), so Democrats will hold the Senate 26 to 24.

Democrats also kept the state House and are poised to grow their 103–100 majority to 13 seats, according to Spotlight PA, though three of those races hadn't been called as of Friday.

Why it matters. With Shapiro re-elected, Democrats will control the governor's office and both chambers of the legislature for the first time since 1993. Democratic leaders said their top priorities are raising the state's $7.25 minimum wage to $15 and writing abortion rights into state law. House Speaker Joanna McClinton said "hundreds of our bills got stuck in a drawer over in the Senate." The timing matters, too. The Medicaid work requirements in Trump's budget bill start January 1, 2027, a date Republicans set to land after this election. Pennsylvania will meet them with a Democratic legislature instead of a Republican Senate.

The bad: they won, by less

Six Republicans on this site won Tuesday. All six are House members, and every one of them got a smaller share than two years ago. The Capital-Star found that the Republican-held "safe" districts it compared were all closer than in 2022, too.

The ugly: what they tried in the last weeks

The Republicans who lost Pennsylvania's biggest races spent the final weeks on some of the ugliest tactics of the campaign.

Scott Perry's "affidavit"

In October, Perry's own campaign ran an ad accusing Janelle Stelson of exposing herself to a neighborhood child. It flashed a document marked "AFFIDAVIT." It wasn't one. It was a notarized statement from a neighbor with Perry signs facing Stelson's house, it didn't say where the incident supposedly happened, and no charges were ever filed.

Reporting on the unproven claim led several TV stations in the district to pull the ad, the Capital-Star reported.

Perry also tried to tie Stelson to an immigrant who was arrested and charged with indecent exposure. The Department of Homeland Security put out a press release saying the man had been working as a canvasser for her campaign. Stelson's campaign said it never employed him and his name never appeared in its volunteer database, and federal campaign finance records confirm he was never paid. The ethics watchdog CREW accused DHS of breaking the Hatch Act, the federal law that bars officials from using their offices to sway elections.

Stelson won by 10 points.

Brian Fitzpatrick's lawsuit

On October 29, five days before the election, Fitzpatrick sued to remove a Democratic county commissioner from the three-person board that would certify his own race. His complaint said Commissioner Diane Ellis-Marseglia had shown "animus" toward him by supporting Harvie. She had served on that board for 15 general elections and certified every one of his wins.

A judge turned him down the day before the election. Pennsylvania law lets election officials be removed only if they are unqualified, on the ballot or impeached, and Fitzpatrick had asked the court to change how the election is run "based upon supposition and opinion," the judge wrote. "Without statutory authority we decline," the order said, according to The Philadelphia Inquirer's account as relayed by the Northeast Times.

That came on top of the ads. A PAC aligned with Fitzpatrick ran ads alleging Harvie was the subject of an FBI investigation. Harvie says he never was — he testified as a witness before a federal grand jury in 2022 — and sued the PAC for defamation. Fitzpatrick's own campaign ads quoted "news" headlines attacking Harvie. Every one of them was self-published by a Fitzpatrick ally his campaign had paid.

Stacy Garrity's deepfake

Late in the race, Garrity ran an ad made with artificial intelligence that showed a computer-generated Josh Shapiro bragging about supporting data centers. Deepfake ads are allowed under Pennsylvania law. Her campaign's videos also invoked unproven allegations that Shapiro, as attorney general, was involved in covering up the murder of a Philadelphia teacher, the Capital-Star reported.

Garrity lost by 22 points.

The rest of the ugly

  • Republicans took back a seat Democrats won in a 2025 upset. In Lancaster County's 36th state Senate District, Republican state Rep. Tom Jones beat Democratic Sen. James Malone. Malone had won it in a 2025 special election by 529 votes, in a district that, the Capital-Star reported, hadn't been represented by a Democrat since the 19th century.
  • A Democratic state House seat in Butler County fell, too. Democratic Rep. Brandon Dukes conceded to Republican Scott Timko in the 12th District, a seat Dukes won in a special election earlier this year.
  • Mackenzie's ad. Mackenzie aired an ad accusing Brooks of "violating state law" by canceling workers' compensation insurance for his landscaping business. Brooks's lawyer said the claim was demonstrably false because the business had no employees when the policy expired. Mackenzie refused to take it down. Brooks pulled out of their only debate, citing months of "outright lies." The two campaigns traded cease-and-desist letters over each other's ads.
  • Federal election monitors. Before Election Day, the U.S. Department of Justice told Secretary of the Commonwealth Al Schmidt it would send election monitors to polling places in four Pennsylvania counties. After the polls closed, Schmidt said he was not aware of any reports of monitors interfering with voters.

What the results show

Pennsylvania voters threw out four Republican congressmen — Scott Perry, Brian Fitzpatrick, Rob Bresnahan and Ryan Mackenzie — turning a 10–7 Republican delegation into an 11–6 Democratic one, and flipped the state Senate to give Democrats full control of state government for the first time since 1993. Josh Shapiro beat Stacy Garrity 60.4% to 38.3%. The six Republicans who won all got smaller shares than in 2024, led by Mike Kelly's drop from 63.7% to 53.9%. Perry lost by 10 points after running an ad accusing his opponent of exposing herself to a child, which several TV stations pulled, and Fitzpatrick lost after suing to remove a Democrat from the board that would certify his race.

Source

The latest updates from the 2026 election in Pennsylvania — Pennsylvania Capital-Star staff, November 3–4, 2026.

Take Action →