
While Republicans celebrated wins in the U.S. Senate and state legislature, the Charlotte area remained deep blue.
- Democrats maintain an 9-0 hold on the Mecklenburg County Board of Commissioners, and they elected Jeff Jackson to the newly drawn District 14 U.S. House seat, which includes the southern part of Mecklenburg County and much of Gaston County.
Jackson, an attorney and state senator since 2014 who served in Afghanistan, defeated fellow veteran Pat Harrigan. Meanwhile, U.S. Rep. Alma Adams maintained a stronghold on her deep blue district.
Yes, but: Democrat Cheri Beasley, who would have become North Carolina’s first Black U.S. Senator, lost to Ted Budd, a Republican who has served in the U.S. House since 2017.
- Budd won by dominating in rural parts of the state.
- What’s more, Republicans won highly contested seats for Congress, state Supreme Court and the legislature, as our Axios Raleigh colleagues reported.
Republicans were not, however, able to secure a supermajority in the state General Assembly.
Why it matters: Despite local Democratic wins, Republicans still own the state outside of rural areas. The GOP’s success statewide Tuesday night is a sign that the party is tightening its grip on North Carolina, our colleagues in Raleigh report.
Between the lines: It was a relatively calm day of voting Tuesday, with election officials reporting surprisingly robust turnout for a midterm.
- Just before lunchtime, voters trickled into Hawthorne Academy. Yvonne Stafford, a Mecklenburg County Democratic Party precinct chair, told Axios the precinct had been “busy, busy” compared to years prior and she anticipated more waves of voters to come through.
By the numbers: More than 3.7 million North Carolina voters cast ballots this election.
- Early voting: More than 2 million of those were early votes. In Mecklenburg County, 187,944 voters cast ballots during the one-stop voting period, behind the 2018 one-stop total of 198,658.
- Turnout was about 50.5% statewide on Tuesday, but only about 44.5% in Mecklenburg County, per the State Board of Elections.
Here’s a summary of the results of all 50-plus contests on the ballots of Mecklenburg County voters.
U.S. Senate
Cheri Beasley (D) v. Ted Budd (R)
Winner: Budd
The takeaway: Budd will continue North Carolina’s string of Republican representation in the U.S. Senate. He replaces retiring Sen. Richard Burr and joins Sen. Thom Tillis, who won re-election in 2020. Budd, a congressman, was endorsed by former President Donald Trump in 2021 during the GOP state convention.
- The important North Carolina U.S. Senate race did not garner the same level of attention as other battlegrounds like Georgia and Pennsylvania.

Republican Senate candidate U.S. Rep. Ted Budd votes at Farmington Baptist Church on Nov. 8 in Mocksville. Photo: Sean Rayford/Getty Images

Cheri Beasley. Michael Graff/Axios
U.S. House
District 14: Jeff Jackson (D) v. Pat Harrigan (R)
Winner: Jackson

Jeff Jackson. Photo: Alexandria Sands/Axios
The takeaway: North Carolina’s newest congressional district will go to one of Charlotte’s most popular politicians.
Jackson last year vied for a U.S. Senate seat but bowed out and endorsed Beasley. He pivoted to run for House instead — and it paid off.
- “I believe that we are still in a moment, unlike any of us has seen in our lifetimes, where there are strong political forces that would add your power as voters if it meant they never had to concede another election, if it meant power for them in perpetuity,” Jackson said during his victory speech.
Harrigan, a Hickory resident and veteran who served in Afghanistan, was optimistic early Tuesday when greeting voters at Alexander Graham Middle School. That’s despite the fact, he added, that he ran in a “predominantly Democratic district.”
- Asked what he saw as the biggest factor motivating voters: Inflation.
- “There’s a lot of folks in Charlotte who are insulated from that but throughout the rest of the district and the rest of the country it is really crushing people. We’ve got to get it under control immediately,” Harrigan told Axios.

Pat Harrigan voting Tuesday morning at Alexander Graham Middle School in Charlotte. Photo: Allison Kuhn/Courtesy of the Harrigan campaign
District 12: Alma Adams (Democrat) v. Tyler Lee (Republican)
Winner: Adams
The takeaway: Adams, a Charlotte resident and U.S. House member since 2014, continues to appeal to the majority Democratic residents in District 12.

Rep. Alma Adams speaks in the Rayburn House Office Building on March 6, 2019 in Washington. (Photo: Mark Wilson/Getty Images)
State legislature
The takeaway: Republicans were not able to secure a supermajority in the North Carolina General Assembly, meaning they still won’t have the ability to overrule Gov. Cooper’s veto moving forward.
Local N.C. Senate races
District 37: Vickie Sawyer (R) ran unopposed.
District 38: Mujtaba Mohammed (D incumbent) ran unopposed.
District 39: DeAndrea Salvador (D incumbent) v. Mark Robeson (R )
- Winner: Salvador
- The takeaway: Salvador, the youngest Black woman to ever serve in the state Senate, defended her seat for a second term.
District 40: Joyce Waddell (D incumbent) v. Bobbie Shields (R)
- Winner: Waddell
District 41: Natasha Marcus (D incumbent) v. Bonni Leone (R)
- Winner: Marcus
District 42: Rachel Hunt (D) v. Cheryl Russo (R)
- Winner: Hunt
- The takeaway: This was a tight race since the district is nearly an even split between registered Democrats and Republicans, but Hunt has more name recognition and a track record having served in the House. She will serve the seat previously held by Jeff Jackson.
N.C. House
District 88: Mary Belk (D incumbent) v. Anne Marie Peacock (R)
- Winner: Belk
District 92: Terry Brown Jr. (D incumbent) v. Mario Robinson Sr. (R)
- Winner: Brown
District 98: John Bradford III (R incumbent) v. Christy Clark (D)
- Winner: Bradford
- The takeaway: Bradford is in the political minority locally but wields power as a link between the Democrats in Charlotte and the Republican leadership in Raleigh.
- This is Bradford’s second election winning against Clark. In 2018, Clark unseated Bradford, but he won the office back in 2020.
District 99: Nasif Majeed (D incumbent) v. Michael Anderson (R)
- Winner: Majeed
District 100: John Autry (D) ran unopposed.
District 101: Carolyn Logan (D incumbent) v. Steve Mauney (R)
- Winner: Logan
District 102: Becky Carney (D incumbent) v. Cynthia Eleanor Clementi (R)
- Winner: Carney
District 103: Laura Budd (D) v. Bill Brawley (R)
- Winner: Budd
District 104: Brandon Lofton (D incumbent) v. Don Pomeroy (R)
- Winner: Lofton
District 105: Wesley Harris (D incumbent) v. Joshua Niday (R)
- Winner: Harris
District 106: Carla Cunningham (D incumbent) v. Karen Henning (R)
- Winner: Cunningham
District 107: Kelly Alexander Jr. (D incumbent) v. Mark Alan Cook (R)
- Winner: Alexander
District 112: Tricia Cotham (D) v. Tony Long (R)
- Winner: Cotham
Local
Mecklenburg County Commissioners
Takeaway: The Mecklenburg County Board of Commissioners hasn’t had a Republican member since electing an entirely Democratic slate in 2018. Soon, the board will head into discussions about the tax rate adjustment this spring, anticipated budget negotiations with CMS and the disbursement of historic funding to address the opioid epidemic, among other tasks.
Matthew Ridenhour, who would have become the only Republican on the board if he’d won his District 5 race against Laura Meier, says he would have brought a differing perspective on important matters like mental health and school funding.
- “I guess it just means that folks just wanted more Democratic influence in their local politics,” he told Axios at a watch event at Sir Edmond Halley’s Tuesday.
At-large: Longtime commissioner Pat Cotham will serve a dozen years after securing her sixth two-year term. Leigh Altman, who chairs the Metropolitan Transit Commission, CATS’ policy board, won a second term. Arthur Griffin will fill one of the three at-large seats in place of interim commissioner Wilhelmenia Rembert.
District 1: Vice chair Elaine Powell defeated Ross Monks (R).
District 2: Longtime commissioner Vilma D. Leake ran unopposed. She will serve an eighth term.
District 3: County chair George Dunlap will serve a ninth term on the board.
District 4: Mark Jerrell will represent east Mecklenburg County for a third term.
District 5: Laura Meier fended off Ridenhour, who held the same seat from 2012 to 2018, in this closely watched race and will go on to serve her second term.
District 6: Susan Rodriguez-McDowell will serve a third term after defeating Jeremy Brasch.
Charlotte-Mecklenburg Board of Education
The takeaway: Families and community members widely unsatisfied with CMS showed it at the polls this election, unseating four incumbents who were running for re-election. Five new members will join the board with one re-elected member and three at-large representatives whose terms did not expire this cycle. For a traditionally low-key school board election, this amount of turnover is unusual.
District 1: Melissa Easley (D), former CMS teacher and cofounder of North Carolina Teachers United, will replace Rhonda Cheek, one of two Republican incumbents who failed to hold onto their seats.
District 2: Vice-chair Thelma Byers-Bailey (D incumbent) will serve another term. She defeated two challengers.
District 3: Gregory “Dee” Rankin (D), CMS Equity Committee member, will replace Ruby Jones, who did not seek re-election.
District 4: Stephanie Sneed (D), former chair of the Black Political Caucus, will replace Carol Sawyer.
District 5: Lisa Cline (R), former educator and assistant principal, will succeed Margaret Marshall, who did not seek re-election.
District 6: Summer Nunn (D), a marketing executive, will take the seat of Sean Strain (R).
District Attorney & Sheriff
District Attorney Spencer Merriweather and Mecklenburg County Sheriff Garry McFadden, both Democrats, ran unopposed.
Mecklenburg Soil and Water Conservation District Supervisor
Current chairwoman Barbara Bleiweis and vice chair Nancy Carter retained their supervisor roles.
Judicial
The GOP now has a majority on the North Carolina Supreme Court, meaning they will decide the fate of major issues including gerrymandering, guns and abortion, among other high profile cases. The fate of the GOP’s agenda in North Carolina hinges on such court races, as Axios’ Lucille Sherman and Danielle Chemtob reported.
In a ruling on the long-running Leandro case days before the midterms, the court’s Democratic majority ruled that state lawmakers can be ordered to transfer funds to provide students a sound public school education, the Raleigh News & Observer reported.
NC Supreme Court Associate Justice seat 3
- Richard Dietz (R) defeated Lucy Inman (D).
NC Supreme Court Associate Justice seat 5
- Trey Allen (R) beat Sam J. Ervin IV (D).
NC Court of Appeals Judge seat 8
- Julee Tate Flood (R) beat Carolyn Jennings Thompson (D).
NC Court of Appeals Judge seat 9
- Donna Stroud (R) defeated Brad A. Salmon (D).
NC Court of Appeals Judge seat 10
- John M. Tyson (R) defeated Gale Murray Adams (D).
NC Court of Appeals Judge seat 11
- Michael J. Stading (R) defeated Darren Jackson (D).
NC Superior Court
- District 26A – Seat 1: Donald Cureton Jr. (D) defeated Paulina N. Havelka (R).
- District 26B – Seat 1: Matt Osman (R) beat Kimberly Best (D).
- District 26D – Seat 1: David Strickland (D) ran unopposed.
- District 26E – Seat 1: Reggie McKnight (D) ran unopposed.
- District 26G – Seat 1: Carla Archie (Democratic incumbent) ran unopposed.
NC District Court, District 26
- Seat 13: Roderick G. Davis (D) ran unopposed.
- Seat 14: Alyssa Levine (D) ran unopposed.
- Seat 15: Jennifer Fleet (D) ran unopposed.
- Seat 16: Matt Newton (Democrat and former Charlotte City Council member) ran unopposed.
- Seat 17: Paige McThenia (Democratic incumbent) ran unopposed.
- Seat 18: Cecilia Oseguera (D) ran unopposed.
- Seat 19: Samantha Mobley (D) ran unopposed.
- Seat 20: Karen McCallum (Democratic incumbent) was unopposed.
- Seat 21: Rhonda Patterson (D) ran unopposed.
- Seat 1: Shante’ Burke-Hayer (D) was unopposed.
Mecklenburg County Clerk of Superior Court
- Elisa Chinn-Gary (Democrat) ran unopposed.
Referenda
Transportation bond – $146.2 million PASSED.
- This money will fund road construction and improvements like street lighting, signals, streetscaping, bike lanes and sidewalks.
Housing trust fund — $50 million PASSED.
- Charlotte’s Housing Trust Fund funds the construction of housing for people with low and moderate incomes.
Neighborhood improvement bonds – $29.8 million PASSED.
- This will fund infrastructure improvements such as storm drainage, public open space, sidewalks, and pedestrian and bicycle paths.
Go deeper: Full Mecklenburg County results