The following are the North Carolina March 3 primary results for key races in the General Assembly’s House and Senate.
This article will be updated as results are released by the N.C. State Board of Elections and full results for all races can be viewed on the election results dashboard. All results are still unofficial.
SENATE
District 17: Seat held by Minority Leader Sen. Sydney Batch (D-Wake)
Republicans candidates: Sarah Al-Baghdadi, Shirley Johnson.
WINNER: Johnson won the contest with just over 90% of the vote, taking in 4,330 votes to Al-Baghdadi’s 476.
District 18: Seat held by Sen. Terence Everitt (D-Wake)
Republican candidates: Cheryl Caulfield, Chris Stock
WINNER: Stock has won this race with 60.56% of the vote.
District 22: Seat held by Sen. Sophia Chitlik (D-Durham)
Democratic candidates: Chitlik, DeDreana Freeman
WINNER: Chitlik has won this race with more than 65% of the vote.
District 28: Seat held by Senate Leader Phil Berger (R-Eden)
Republican candidates: Berger, Rockingham County Sheriff Sam Page
WINNER: Page ended the evening with a two-vote lead over Berger and their percentages are tied at 50%. A recount is expected.
Provisional ballots have not been reported and added to vote count totals yet and the N.C. State Board of Elections has indicated provisional ballot reporting should happen by noon on Thursday and counting will begin on Friday, Mar. 6.
HOUSE
District 23: Seat held by Shelly Willingham (D-Edgecombe)
Democratic candidates: Willingham, Patricia Smith
WINNER: Smith defeated Willingham with more than 55% of the vote.
District 27: Seat held by Rep. Rodney Pierce (D-Halifax)
Democratic candidates: Pierce, Michael Wray (previously held the seat)
WINNER: Pierce has won this race with almost 64% of the vote.
District 32: Seat held by Rep. Bryan Cohn (D-Granville) — not seeking reelection
Republican candidates: Pamela Ayscue, Frank Sossamon (previously held the seat)
WINNER: Sossamon won this race with 86.51% of the vote.
District 35: Seat held by Rep. Mike Schietzelt (R-Wake).
Republican candidates: Schietzelt, Michele Joyner-Dinwiddie
WINNER: Schietzelt won with over 90% of the vote.
District 81: Seat held by Rep. Larry Potts (R-Davidson)
Republican candidates: Potts, Pamela Zanni
WINNER: Potts has won this race with more than 84% of the vote.
District 89: Seat held by Rep. Mitchell Setzer (R-Catawba)
Republican candidates: Setzer, Lisa Deaton Koperski
WINNER: Setzer defeated Koperski with more than 86% of the vote.
District 99: Seat held by Nasif Majeed (D-Mecklenburg)
Democratic candidates: Majeed, Veleria M. Levy, Tucker Neal
WINNER: Levy defeated Majeed with more than 68% of the vote.
District 105: Seat held by Rep. Tricia Cotham (R-Mecklenburg)
Republican candidates: Cotham, Kelly Van Horn
WINNER: Cotham will retain her spot as the Republican nominee, defeating Van Horn with more than 85% of the vote.
District 106: Seat held by Rep. Carla Cunningham (D-Mecklenburg)
Democratic candidates: Cunningham, Vermanno Bowman, Rodney Sadler
WINNER: Rodney Sadler won nearly 70% of the vote.
District 117: Seat held by Rep. Jennifer Balkcom (R-Henderson)
Republican candidates: Balkcom, Christopher Wilson
WINNER: Balkcom won this race with more than 76% of the vote.
Democrats Reps. Cunningham, Majeed, and Willingham drew challengers from their own party after being targeted by the state Democratic Party for having voted to override vetoes made by former Gov. Roy Cooper and current Gov. Josh Stein.
Upsets
Note: The results are still unofficial.
- Rep. Kelly Hastings (R-Gaston) was defeated by Caroline Eason; Eason took in 53.69% to Hasting’s 46.31% of the vote.
- Rep. Keith Kidwell (R-Beaufort) lost to challenger Darren Armstrong by 651 votes, or just over 4.5%
- Rep. Mark Pless (R-Haywood) lost to Jimmy Rogers by 853 votes; a margin of 9.4%.
- Rep. Reece Pyrtle (R-Rockingham) lost to Seth Woodall, who took in 57.45% of the vote.
- Sen. Chris Measmer (R-Cabarrus) was upset by Kevin Crutchfield, who took in 53.67% of the vote. Measmer was appointed to the seat last fall to fill the remainder of Sen. Paul Newton’s term.
If no candidate receives more than 30% of the vote in their contest, a runoff can be requested with the top two vote earning candidates competing in an election to be held on May 12.
Mandatory recounts may occur for statewide races if the margin between the top two candidates in a race is 0.5% of the votes cast (or less), or 10,000 votes, whichever is smaller. For local and municipal races, the recount threshold is 1%.