For complete election results, see the State Board of Elections site tonight. We’ll be posting analysis of the returns here. If you want more political analysis, sign up for our free weekly political newsletter, West of the Capital. Also, please remember that we rely on donations, so feel free to chip in. From now until the end of the year, your tax-deductible gift will be doubled – up to $1,000 – by NewsMatch.
12:23 a.m.: Republican Owen defeats Gibson in Richmond suburbs
That one “too close to call” House race is no longer too close to call. Republican David Owen has won over Democrat Susanna Gibson. Barring changes, this will put the final House tally at 51 Democrats, 49 Republicans.
11:41 p.m.: Republican Taylor wins House race in Petersburg area
This just in: Del. Kim Taylor, R-Petersburg, has just pulled out in front of Democrat Kimberly Pope Adams, and no votes are left to count other than provisionals. Unofficial tallies give Taylor a 173-vote lead.
That would put Democrats at a projected 51 seats to 48 for Republicans with one still too close to call.
11:19 p.m.: Democrats win majority in House of Delegates
Two Democrats have just won House races that were previously in doubt: Democrat Michael Feggans has just defeated Del. Karen Greenhalgh, R-Virginia Beach, while Democrat Joshua Cole has defeated Republican Lee Peters in the Fredericksburg area. That puts Democrats at 51 seats in the House with two still too close to call. In one of those, Democrat Kimberly Pope Adams leads Del. Kim Taylor, R-Petersburg, with 2,875 early votes to be counted, which will probably go Democratic. That would put Democrats at 52 seats — with the Susanna Gibson-David Owen race in the Richmond suburbs still in doubt.
This means Democrats have now won control of both chambers of the General Assembly.
10:51 p.m.: About the provisional ballots in the Obenshain-Franklin race
The State Board of Elections site shows Republican Chris Obenshain winning by 943 votes. However, we’ve had some questions about the provisional ballots in that race, largely from Virginia Tech students who registered today. The Montgomery County registrar tells us they have 955 provisionals; but they don’t know yet how many of those are in this House district — I’d expect almost all but we don’t know that yet. That means Democrat Lily Franklin would have to win virtually all of those to pull out in front. However, her campaign manager, Eleanor Roy, cites a different number: “We’re withholding any statements about the outcome of this race until all the ballots are counted. Unofficial results show that there are more than 2,000 provisional, uncured mail ballots, and unreturned mail ballots in the two counties that HD-41 covers.” She gets to the 2,000 number by counting those “uncured mail ballots and unreturned mail ballots.” Those can be counted as long as they arrive by Monday. So it’s possible this one isn’t quite done yet. We’ll see.
10:27 p.m.: Conservatives fail to win seats on Montgomery County School Board
All three conservative candidates running for the Montgomery County School Board lost. The closest race involved the most prominent candidate — Mark Miear, who was fired as superintendent after getting into an argument with a staffer over a transgender student, appears to have lost to incumbent Penny Franklin by 67 votes.
10:20 p.m.: Democrats have slight edge in winning the House
It looks as if Democrats will win the House of Delegates with at least 51 seats. That projection could change, but here’s how I’m reading it:
For Republicans to win 51 seats, they need to win six of these seven races. For Democrats to win 51, they need to win three. They’ve already won one, and lead in two others — with early votes yet to be counted, and those early votes are likely to favor Democrats. That would put the at 51. And then there’s the Gibson-Owen race in the Richmond suburbs, which seems truly in doubt, but may not matter in terms of determining the majority. If they pull that out, Democrats would win 52 seats in the House.
HD 22 (Ian Lovejoy-Travis Nembhard in Prince William County) – Lovejoy (R) has won
HD 21 (John Stirrup-Josh Thomas in Prince William County) – Thomas (D) has won
HD 57 (Susanna Gibson-David Owen in Henrico County). With 16 of 19 precincts reporting, Democrat Gibson leads Republican Owen by 24 votes, with 12,027 early votes yet to be counted. The catch here is that none of the Goochland County precincts have reported yet, and they are expected to be strongly Republican. Still, all those early votes bode well for Gibson.
HD 65 (Joshua Cole-Lee Peters in and around Fredericksburg). With 18 of 19 precincts reporting, Democrat Cole leads Republican Peters by 245 votes, with 4,919 early votes yet to be counted.
HD 82 (Kim Pope Adams-Kim Taylor in and around Petersburg). With 29 of 31 precincts reporting, Democrat Adams leads by 782 votes, with 2,875 early votes yet to be counted.
HD 89 (Baxter Ennis-Karen Jenkins in Chesapeake and Suffolk). Ennis (R) has won
HD 97 (Michael Feggans-Karen Greenhalgh in Virginia Beach) With 17 of 20 precincts reporting, Republican Greenhalgh leads Democrat Feggans by 369 votes, with 8,768 early votes yet to be counted.
10:01 p.m.: Obenshain wins
And now it’s final: Republican Chris Obenshain 12,344, Democrat Lily Franklin 11,397 with no early votes left. It’s over.
9:56 p.m.: Obenshain will defeat Franklin
Republican Chris Obenshain is currently up by 2,152 votes over Democrat Lily Franklin, with 1,651 early votes yet to be counted, according to the Virginia Public Access Project.
9:37 p.m.: Democratic odds of taking the House are improving
Let’s recap the key races For Republicans to win 51 seats, they need to win six of these seven races. For Democrats to win 51, they need to win three. They’ve already won one and leading another. In four others, Republicans hold narrow leads but there’s a lot of early votes to be counted, and those are likely to trend Democratic.
HD 22 (Ian Lovejoy-Travis Nembhard in Prince William County) – Lovejoy (R) has won
HD 21 (John Stirrup-Josh Thomas in Prince William County) – Thomas (D) has won
HD 57 (Susanna Gibson-David Owen in Henrico County). With 15 of 19 precincts reporting, Republican Owen leads Democrat Gibson 9,212 to 9,188 — with 12,027 early votes to be counted.
HD 65 (Joshua Cole-Lee Peters in and around Fredericksburg). With 18 of 19 precincts reporting, Republican Peters leads Democrat Cole by 9,348 to 8,952 — with 10,155 early votes yet to be counted.
HD 82 (Kim Pope Adams-Kim Taylor in and around Petersburg) Adams (D) leads
HD 89 (Baxter Ennis-Karen Jenkins in Chesapeake and Suffolk). With all precincts reporting, Republican Ennis leads Democrat Jenkins 11,459 to 11,071 — with 5,781 early votes yet to be counted.
HD 97 (Michael Feggans-Karen Greenhalgh in Virginia Beach). Republican Greenhalgh leads Democrat Feggans 6,167 to 5,764 — with 8,768 votes yet to be counted.
9:30 p.m. Update on Obenshain-Franklin race
Republican Chris Obenshain leads Democrat Lily Franklin in House District 41 in Montgomery and Roanoke counties — 53% to 47% but a lot of the vote still out is from Blacksburg, her presumed base. So I’d keep watching this. Seven of eight precincts in Roanoke County, which is solidly Republican are in, but only 14 of 21 in Montgomery County are. Those also include some strong Republican precincts around Riner, but also a lot of Democratic precincts in Blacksburg.
9:19 p.m.: Democrats have an edge in winning the House
Numbers are flipping back and forth like a fish pulled out of the water. Unless something dramatic happens, I consider the Senate a done deal for the reasons outlined below, so let’s look again at the House. For Republicans to win 51 seats, they need to win six of these seven races. For Democrats to win 51, they need to win three. At the moment, Republicans have won one, lead by a decent margin in another, while Democrats have won one and have a decent lead in another. That leaves three seats (in bold) that I’d rate too close to call. In each, Republicans hold a narrow lead but we have a lot of early votes yet to be counted and they are likely to trend Democratic. Democrats just need to win one of those three to win the House, by my estimates.
HD 22 (Ian Lovejoy-Travis Nembhard in Prince William County) – Lovejoy (R) has won
HD 21 (John Stirrup-Josh Thomas in Prince William County) – Thomas (D) has won
HD 57 (Susanna Gibson-David Owen in Henrico County)
HD 65 (Joshua Cole-Lee Peters in and around Fredericksburg)
HD 82 (Kim Pope Adams-Kim Taylor in and around Petersburg) Adams (D) leads)
HD 89 (Baxter Ennis-Karen Jenkins in Chesapeake and Suffolk) Ennis (R) leads
HD 97 (Michael Feggans-Karen Greenhalgh in Virginia Beach)
9:10 p.m.: Things just got even better for Democrats in the Senate
State Sen. Monty Mason, D-Williamsburg, has now pulled ahead of Republican Danny Diggs, with 37 of 41 precincts reporting — and 20,061 early votes yet to be counted. The Democrats appear headed toward retaining the Senate. If that lead holds, Democrats would be on track to winning 22 seats, the same as they have now. House update coming soon.
9:04 p.m.: Democrats’ chances of holding the Senate just improved
With just two precincts out in Fauquier County, Democrat Russet Perry has strengthened a narrow lead over Republican Juan Pablo Segura. Republicans are currently leading narrowly in these three districts — but the early vote, which is expected to go Democratic, has yet to be counted.
SD 17 (Emily Brewer-Clint Jenkins in Suffolk and eastern Southside)
SD 24 (Danny Diggs-Monty Mason on the Peninsula)
SD 27 (Tara Durant-Joel Griffin-Monica Gary in and around Fredericksburg)
8:49 p.m.: Republicans could retain control of the House
It’s too early to call this yet but here’s how things are shaping up. We began the night with 45 seats leaning or solid Republican, 48 leaning or solid Democrat. So far, I see no upsets to change those numbers. That means the outcome hinges on these seven races:
HD 22 (Ian Lovejoy-Travis Nembhard in Prince William County)
HD 21 (John Stirrup-Josh Thomas in Prince William County)
HD 57 (Susanna Gibson-David Owen in Henrico County)
HD 65 (Joshua Cole-Lee Peters in and around Fredericksburg)
HD 82 (Kim Pope Adams-Kim Taylor in and around Petersburg)
HD 89 (Baxter Ennis-Karen Jenkins in Chesapeake and Suffolk)
HD 97 (Michael Feggans-Karen Greenhalgh in Virginia Beach)
For Democrats to win control, they need to win three. For Republicans to win control, they need to win six. If Democrats take two and Republicans take five, then we have a 50-50 tie.
At the moment, Republicans are leading in six — the ones in red. All of these races are close, those, so any or all of them could flip, although Lovejoy (R) and Thomas (D) seem more sure winners. If that holds, Republicans would retain control with 51 seats. But if one flips, we could have a tie.
8:37 p.m.: Republicans have a path to Senate control
Here’s how things stand: With Democrat Schuyler VanValkenburg knocking off Republican state Sen. Siobhan Durrant, R-Henrico County, Republicans would need to win all four of these races to forge a 20-20 tie that Republican Lt. Gov. Winsome Earle-Sears could break:
SD 17 (Emily Brewer-Clint Jenkins in Suffolk and eastern Southside)
SD 24 (Danny Diggs-Monty Mason on the Peninsula)
SD 27 (Tara Durant-Joel Griffin-Monica Gary in and around Fredericksburg)
SD 31 (Russet Perry-Juan Pablo Segura in Fauquier and Loudoun counties).
At the moment, Republicans lead in three of those — Brewer, Diggs, Durant. Perry narrowly leads Segura but the precincts that are out in that district are in Republican-voting Fauquier County. If Segura can pull that out, then there’ll be a 20-20 tie, with effective Republican control.
8:33 p.m.: Suetterlein will win
He currently has 54.79% of the vote but here’s the important part: All but one precinct in Roanoke (Democrat Trish White-Boyd’s base) are in, while only 13 of 22 precincts in Roanoke County (his base) is in. This one is done.
8:28: Democrat Mason clings to narrow lead in Peninsula Senate race
This race between state Sen. Monty Mason, D-Williamsburg, and Republican Danny Diggs was rated one of the closest in the state. Right now, Mason has a narrow lead with 29 of 43 precincts reporting. This could still go either way.
8:27 p.m.: Richmond casino appears headed to defeat
With a little over half the vote in, the “no” side has 73%.
8:24 p.m.: Tight race in Fredericksburg area Senate race
Del. Tara Durant, R-Fredericksburg, leads Democrat Joel Griffin by 12 votes, but most of the votes are still out. The slowest-reporting locality is Spotsylvania County, where so far she’s leading by a wide margin. That tells me the advantage belongs to her but we’ll see.
8:21 p.m.: Gibson leads Owen narrowly, but his best locality is still out
With about half the vote in Henrico County reporting, Democrat Susanna Gibson — whose campaign was rocked by revelations about her sex videos — is narrowly leading Republican David Owen. But none of Goochland County is in, and that’s a very Republican county.
8:17 p.m.: How to make sense of the Senate District 4 race
State Sen. David Suetterlein, R-Roanoke County, is pulling 55% district-wide against Democrat Trish White-Boyd. That matches previous election returns in that district. Almost all of Salem is in — heavy for Suetterlein. But only about half of Roanoke (a Democratic bastion) and Roanoke County (a Republican stronghold) are in. White-Boyd will need a big margin out of the rest of Roanoke to make up this difference.
8:16 p.m.: Miear now leads Franklin in Montgomery County School Board race
Only two of six precincts are in but conservative challenger Mark Miear is now in front of Penny Franklin.
8:13 p.m.: A reality check on some races
Republican Chris Obenshain leads Democrat Lily Franklin in their House race but only three of 21 precincts in Montgomery County are reporting and three of eight in Roanoke County. Her vote will come from Montgomery County so keep watching this one.
8:09 p.m.: Conservative school board candidates trail in Montgomery County
Most precincts are still to be heard from but the early returns show incumbent Penny Franklin leading challenger Mark Miear, the former superintendent who was fired, and Derek Rountree leading Lindsay Rich. No results yet in the Ed Gitre-Jason Massie race.
8:03 p.m.: Brewer leads Jenkins
Del. Emily Brewer, R-Suffolk, is leading Del. Clint Jenkins, D-Suffolk in a competitive state Senate district in eastern Southside. However half the precincts in Suffolk — where Jenkins currently leads — are still out. And none of the vote in Southampton County is reporting yet; that’s a county expected to vote Republican.
8:01 p.m.: VanValkenburg leads Republican incumbent Dunnavant
At the moment, things aren’t looking good for state Sen. Siobhan Dunnavant, R-Henrio County. She’s trailing Del. Schuyler VanValkenburg, D-Henrico County. If that holds, that will complicate Republican efforts to take the Senate.
7:57 p.m.: An advisory on how to read the State Board of Elections returns
If you’re following along at home by looking at the State Board of Elections site, beware of this:

Where it says “Localities returing 1/1” doesn’t mean the results are complete — just that one of the localities in that district has some numbers in. So far, 18 of the 57 precincts in that district are in.
7:53 p.m.: Obenshain leads Franklin
Early returns put Republican Chris Obenshain well ahead of Democrat Lily Franklin in the House district covering parts of Montgomery and Roanoke counties, but we have yet to hear from Blacksburg — her strong point.
7:51 p.m.: Suetterlein pulls ahead of White-Boyd
As more precincts report, we’re seeing state Sen. David Suetterlein, R-Roanoke County, pulling ahead of Democrat Trish White-Boyd.
7:41 p.m.: Salem coming in heavy for Suetterlein
We’re now getting some numbers out of Salem. With three of 11 precincts in, state Sen. David Suetterlein, R-Roanoke County, is taking about 63% of the vote there. This Senate district is, like many others, quite polarized. Democrat Trish White-Boyd needs a big vote out of Roanoke, which she’s getting, while Suetterlein needs a big vote out of the other localities, which he’s also getting.
7:36 p.m.: White-Boyd jumps to early lead in state Senate race against Suetterlein
This reflects the vote from two precincts in Democratic-voting Roanoke — Hollins Road and Wasena. Sit tight, everyone.
7:16 p.m.: First votes are in!
And the first votes of the evening we’ve seen are from the New River precinct in Radford, where Democrat Robert Beckman polled 145 votes to 106 for state Sen. Travis Hackworth, R-Tazewell County. Keep in mind this is a Democratic precinct in a very Republican district, so don’t anyone get too excited. But the counting is on!
7:13 p.m.: Misleading sample ballots handed out in key state Senate race in Spotsylvania County
The FXBG Advance reports that some misleading sample ballots were handed out in Spotsylvania County. The sample ballots listed two candidates as Republican candidates who aren’t endorsed by the GOP — Matt Strickland for the state Senate and Nick Ignacio for clerk.
This is potentially significant: Strickland was the loser in the Republican primary against Tara Durant, but later decided to wage a write-in campaign. That makes the Senate District 27 race a four-way affair. Three candidates are on the ballot: Durant, Democrat Joel Griffin and independent Monica Gary. Strickland makes it four. This is considered one of the most competive state Senate district in the state. If Durant were to lose and Strickland’s write-in vote were to make the difference, you can bet Republicans will be very unhappy.
7:05 p.m.: Suetterlein’s dad worked the polls
As I drove around the Roanoke Valley today, checking out various polling places, I stopped at the Williamson Road precinct in Roanoke. To my surprise, who should be handing out literature but Steve Suetterlein, the father of state Sen. David Suetterlein, R-Roanoke County.

For what it’s worth, this is very much a swing precinct — went slightly Republican in 2021, slightly Democratic in 2022 — but while I was there in mid-afternoon, I didn’t see any Democratic volunteers handing out literature. Suetterlein asked voters: “Please vote for my son, David Suetterlein.”
7 p.m.: The polls have closed
And now we wait.
5:30 p.m.: Keep an eye on the provisional ballots
A Democratic operative today posted this video of a long line of students at the College of William and Mary waiting to vote — and, in many cases, register.
This is a good reminder that Virginia now has same-day voter registration. Those ballots are considered “provisional” ballots in the election night reporting, so we need to keep an eye on how many of those there are, particularly in districts with lots of college students. If the number of provisional ballots exceeds the reported margin between the two candidates, we should probably hold off “calling” a winner there — because those provisional ballots could make the difference.
Also remember that mail ballots need to be postmarked today but are counted as long as they arrive by … well, usually it’s Friday but this Friday is a holiday, so mail ballots have until Monday to come in. That means in some close races we may not know the winner until next week. Patience, my friends — it’s a virtue. So are Tums.
5 p.m.: Here’s how elections get “called”
Let’s start our coverage tonight with a review of the rules. Tonight you’ll see lots of news organizations — including us — “call” elections. Here’s the most important thing to know: None of these have any force whatsoever. Ultimately, the only entity that can “call” an election is the State Board of Elections, and it won’t be certifying the results for several weeks yet.
When we, or any other media organization, “calls” an election, we’re doing so based on our understanding that district’s electoral history. Let’s use this fanciful example: District O is a swing district between the Whigs and the Federalists. However, in the results so far, the Whig candidate is winning big in the Whig precincts and running even in the Federalist precincts. Even though some Federalist precincts may be out, it seems safe to assume that the Whig candidate will win those, too.
I also refer you to my column this morning, where I laid out five common mistakes you might see in election reporting.
Finally, the Virginia Public Access Project has this useful FAQ on election returns. I particularly like the first question: “I want results to come in and be completed by the time I go to bed. How come that doesn’t always happen?”
My answer would be: Because you’re going to bed too early. VPAP has a more complete answer.