We’ll start with a look at the Trump/Biden seats. The 2nd District in the Virginia Beach area swung from 49-45 Trump to 51-47 Biden, while freshman Democratic Rep. Elaine Luria won her rematch with Republican Scott Taylor, whom she’d unseated in 2018, 52-46. Over in the Richmond suburbs, the 7th District swung from 50-44 Trump to 50-49 Biden; freshman Democratic Rep. Abigail Spanberger held on 51-49 against Republican Del. Nick Freitas.
Biden carried the five Clinton districts with ease, including one seat that was competitive turf not long ago. The 10th District in Northern Virginia favored Clinton 52-42, but Biden took it by an even stronger 59-40 margin. Two years ago, Republicans spent heavily to save Rep. Barbara Comstock, but she lost to Democrat Jennifer Wexton 56-44. Team Red didn’t seriously contest the seat this time, and Wexton prevailed 57-43.
In the Trump seats, the largest move to the left came in the 1st District, which includes the western Chesapeake Bay and exurbs of D.C. and Richmond: Trump took this district 54-41 in 2016, but he carried it only 51-47 this year. However, Republican Rep. Rob Wittman, who first was elected to Congress in a 2007 special election, won by a far stronger 58-42 margin.
Trump also lost support in the 5th District, which contains Charlottesville and south-central Virginia, but not by enough to cost Team Red control of the seat. The 5th went from 53-42 to 54-45 Trump, while Republican Bob Good won a very expensive open seat contest 52-47 against Democrat Cameron Webb.
Perhaps the best illustration of just how much Virginia has changed, though, can be seen in two districts that were once competitive around a decade ago but now are anything but. From 1994 to 2008, Republicans held the 11th District in the D.C. suburbs, something hard to imagine today given that it went for Biden by a lopsided 70-28 spread. Meanwhile, at the state’s far southwestern tip in coal country, the 9th District remained in Democratic hands until 2010, when Rep. Rick Boucher lost in the GOP wave. This district also went 70-28 at the presidential level, except that it was Trump who carried it.