Senate Democratic leaders Scott Surovell and Mamie Locke hold up blue bricks symbolizing their “brick wall” against the GOP agenda during the Democratic Election Night Party in Richmond City, Va., November 7, 2023. (Parker Michels-Boyce for the Virginia Mercury)
Senate Democratic leaders Scott Surovell and Mamie Locke hold up blue bricks symbolizing their “brick wall” against the GOP agenda during the Democratic Election Night Party in Richmond City, Va., November 7, 2023. (Parker Michels-Boyce for the Virginia Mercury)
Governor Glenn Youngkin spent months rallying Republicans to flip the Senate and hold the House, but the GOP’s failure to achieve that ambitious goal shows the limits of the governor’s brand of conservatism.
Republished with permission from Virginia Mercury, by Graham Moomaw
RICHMOND — Virginia Democrats beat back Gov. Glenn Youngkin’s effort to turn the state fully red by defending their state Senate majority in Tuesday’s General Assembly elections and flipping control of the House of Delegates.
While the final counts in the high-stakes battle for the statehouse weren’t fully clear at midnight, with multiple races still too close to call, Democrats appeared to have secured control of both chambers.
Even before outlets including the Associated Press called the House races around midnight, Democrats were already hailing the night as a victory, one that will further erode Youngkin’s ability to enact his conservative agenda as he begins the second half of his four-year term.
At a watch party in downtown Richmond, caucus leaders pulled out a pair of blue bricks to symbolize that the so-called “brick wall” against Youngkin’s agenda had endured.
“We’re more than just a brick wall now. We are building a house,” said Sen. Mamie Locke, D-Hampton, the chair of the Senate Democratic Caucus.
On the House side, where Republicans had a 52-48 majority earlier this year, Democrats are now poised to elevate Minority Leader Don Scott, D-Portsmouth, to become the first Black House speaker in Virginia history.
“The people of the commonwealth of Virginia have spoken,” said Scott. “What they said was we won’t go backward. What they said was, we believe in freedom. …We have the blueprint for freedom in the Democratic Party.”

House Minority Leader Don Scott (D-Portsmouth) cheers as election results are announced during the Democratic Election Night Party in Richmond City, Va., November 7, 2023. (Parker Michels-Boyce for the Virginia Mercury)
According to unofficial results, Del. Schuyler VanValkenburg, D-Henrico, defeated incumbent Sen. Siobhan Dunnavant, R-Henrico, in one of the toughest suburban districts Republicans were trying to defend. In Northern Virginia, Democrat Russet Perry beat Republican Juan Pablo Segura in a competitive race for an open seat representing parts of Loudoun and Fauquier counties. In another Northern Virginia contest, Del. Danica Roem, D-Prince William, triumphed over Republican Bill Woolf, making her the first transgender person ever elected to the state Senate.
Republican Dels. Tara Durant, R-Fredericksburg, and Emily Brewer, R-Suffolk, won two other close contests, defeating Democratic opponents Joel Griffin and Del. Clint Jenkins, D-Suffolk, respectively.
The Senate matchup between Sen. Monty Mason, D-Williamsburg, and Republican Danny Diggs was too close to call at night’s end and may take days to resolve as election officials continue to tabulate votes cast under the same-day registration system.
Youngkin has spent months rallying Republicans to flip the Senate and hold the House, but the GOP’s failure to achieve that ambitious goal shows the limits of the governor’s brand of conservatism, as well as the staying power of Democrats, who gained new evidence for their belief that Youngkin’s 2021 win was more of a pandemic-era anomaly than a lasting realignment of state politics.
“The emperor has no clothes except for a red sweater vest,” Sen. Scott Surovell, D-Fairfax, said as results rolled in.
Democrats ran largely on preserving abortion access, launching a wave of ads that declared a vote for their party was a vote to stop Youngkin from passing his proposal to ban most abortions after 15 weeks. Youngkin had portrayed that plan as a reasonable “limit” because it would have allowed exceptions for cases of rape and incest and when the mother’s life or physical health is at risk.
The GOP effort to defuse abortion as a motivating issue for Democratic-leaning voters wasn’t enough to stop the tide in the suburban battlegrounds.
In an interview, Jamie Lockhart, executive director of Planned Parenthood Advocates of Virginia, said “abortion rights won” despite Republican efforts to obfuscate the issue.
“Voters weren’t fooled,” Lockhart said. “They showed up.”
Though he has two more years left in office, Youngkin will have to spend that time working with a new crew of Democratic leaders at the statehouse who have been sharply at odds with him on virtually every major issue.
Republican candidates mostly campaigned this year on the same themes Youngkin ran on in 2021: cutting taxes, getting tougher on crime and giving parents a bigger role in K-12 schools. Many of the GOP candidates running in swing districts echoed the governor’s stance on abortion, characterizing their position as a reasonable compromise that would keep the procedure legal in the earliest stages of pregnancy, when most Virginia abortions occur.
Tuesday’s results are also a setback for the lingering buzz about Youngkin as a possible late entrant into the GOP presidential primary by complicating the governor’s narrative about flipping a blue state red.
Youngkin and other Republican leaders had not yet weighed in on the results as of publication.
At an election night event in Henrico, Dunnavant indicated she was not conceding her race but acknowledged she was “down.”
“I am 100% proud of my campaign,” she said.
Nonprofit. Nonpartisan. No paywalls. Fair and tough reporting on the policy and politics that affect all of us is more important than ever. The Mercury brings you coverage of the commonwealth's biggest issues from a team of veteran Virginia journalists.
Help Support Factkeepers!
{"id":null,"mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Factkeepers.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Help Support Factkeepers","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"Factkeepers.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to donate? You can change this amount to anything you would like.","initial":{"instruction_type":"normal","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"invalid_curency":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to donate this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to donate this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to donate this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
{"date_format":"F j, Y","time_format":"g:i a","wordpress_permalink_only":"https:\/\/factkeepers.com\/democrats-triumph-in-the-virginia-statehouse\/","all_default_visual_states":"inherit","modal_visual_state":false,"user_is_logged_in":false,"stripe_api_key":"pk_live_40P3DgGDAHEP1QtJ0nOU4nms5JYHI8GbQ05dYiB1S8OPP5oMSIpOCCeeIawOyeW6bWDkDMWdUeggbhxOQTSA6aedu00ROAbhXBd","stripe_account_country_code":"US","setup_link":"https:\/\/factkeepers.com\/wp-admin\/admin.php?page=tip-jar-wp&mpwpadmin1=welcome&mpwpadmin_lightbox=do_wizard_health_check","close_button_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/closebtn.png"}