2019 Virginia Senate election


The Virginia Senate election of 2019 was held on November 5, 2019, concurrently with the House election, to elect members to all 40 seats in the Senate of Virginia for the 161st Virginia General Assembly. Primaries were held on June 11. The elections resulted in Democrats gaining 2 seats in the senate, and gaining control of both chambers of the General Assembly, marking the first time that Democrats held control of both legislative and executive branches in Virginia since 1993.

Overall results

Summary of results

Retiring incumbents

Three incumbent Senators, all Republicans, decided not to seek reelection:

In primary election

One incumbent senator, a Democrat, was defeated in the June 11 primary election.
One incumbent senator, a Republican, was defeated in the November 5th general election.
Incumbent Democrat Monty Mason has represented the 1st District since 2017.

General election

District 2

Incumbent Democrat Mamie Locke has represented the 2nd district since 2004.

General election

District 3

Incumbent Republican and current Majority Leader Tommy Norment has represented the 3rd district since 1992.

General election

District 4

Incumbent Republican Ryan McDougle has represented the 4th district since 2006.

General election

District 5

Incumbent Democrat Lionell Spruill has represented the 5th district since 2017.

General election

District 6

Incumbent Democrat Lynwood Lewis has represented the 6th district since a 2014 special election.

Democratic primary

General election

District 7

The seat has been vacant since May 2019 when incumbent Republican Frank Wagner resigned to take the position as deputy director of the Virginia Lottery.

Republican primary

Democratic primary

General election

District 8

Incumbent Republican Bill DeSteph has represented the 8th district since 2016.

General election

District 9

Incumbent Democrat Jennifer McClellan has represented the 9th district since a 2017 special election.

General election

District 10

Incumbent Republican Glen Sturtevant has represented the 10th district since 2016.

Democratic primary

General election

District 11

Incumbent Republican Amanda Chase has represented the 11th district since 2016.

Democratic primary

General election

District 12

Incumbent Republican Siobhan Dunnavant has represented the 12th district since 2016.

Democratic primary

General election

District 13

Incumbent Republican Dick Black has represented the 13th district since 2012. He is not running for reelection.

Republican primary

General election

District 14

Incumbent Republican John Cosgrove has represented the 14th district since a 2013 special election.

General election

District 15

Incumbent Republican Frank Ruff has represented the 15th district since a 2000 special election.

Republican primary

General election

District 16

Incumbent Democrat Rosalyn Dance has represented the 16th district since a 2014 special election. She was defeated in the June 11 primary election.

Democratic primary

General election

District 17

Incumbent Republican Bryce Reeves has represented the 17th district since 2012.

Republican primary

Democratic primary

General election

District 18

Incumbent Democrat Louise Lucas has represented the 18th district since 1992.

General election

District 19

Incumbent Republican David Suetterlein has represented the 19th district since 2016.

General election

District 20

Incumbent Republican Bill Stanley has represented the 20th district since 2012.

General election

District 21

Incumbent Democrat John S. Edwards has represented the 21st district since 1996.

General election

District 22

Incumbent Republican Mark Peake has represented the 22nd district since a 2017 special election.

General election

District 23

Incumbent Republican Stephen Newman has represented the 23rd district since 1996.

General election

District 24

Incumbent Republican Emmett Hanger has represented the 24th district since 1996.

Republican primary

General election

District 25

Incumbent Democrat Creigh Deeds has represented the 25th district since a 2001 special election.

General election

District 26

Incumbent Republican Mark Obenshain has represented the 26th district since a 2004 special election.

General election

District 27

Incumbent Republican Jill Vogel has represented the 27th district since 2008.

General election

District 28

Incumbent Republican Richard Stuart has represented the 28th district since 2008.

Democratic primary

General election

District 29

Incumbent Democrat Jeremy McPike has represented the 29th district since 2016.

General election

District 30

Incumbent Democrat Adam Ebbin has represented the 30th district since 2012.

General election

District 31

Incumbent Democrat Barbara Favola has represented the 31st district since 2012.

Democratic primary

General election

District 32

Incumbent Democrat Janet Howell has represented the 32nd district since 1992.

General election

District 33

Incumbent Democrat Jennifer Boysko has represented the 33rd district since a 2019 special election.

Democratic primary

General election

District 34

Incumbent Democrat Chap Petersen has represented the 34th district since 2008.

General election

District 35

Incumbent Democrat and current Minority Leader Dick Saslaw has represented the 35th district since 1980.

Democratic primary

General election

District 36

Incumbent Democrat Scott Surovell has represented the 36th district since 2016.

General election

District 37

Incumbent Democrat Dave Marsden has represented the 37th district since a 2010 special election.

General election

District 38

Incumbent Republican Ben Chafin has represented the 38th district since a 2014 special election.

General election

District 39

Incumbent Democrat George Barker has represented the 39th district since 2008.

General election

District 40

Incumbent Republican Charles William Carrico Sr. has represented the 40th district since 2012. He did not run for reelection.

General election

Polling