This is the 1987 race. The latest: 2023 →

1987Final results

1987 election for Virginia Senate District 21

Virginia State Senate · Virginia

J. Granger Macfarlane (D) won with 63.3% of the vote, defeating William H. Flannagan (R) by 26.7 points.

J. Granger MacfarlaneDemocrat · winner · incumbent
63.3%22,151
36.7%12,819
34,974 votes

Source: Harvard Dataverse / Carl KlarnerUpdated Sep 30, 2026, 7:29 AM ET

The seat over time

D − R margin in this seat's races around 1987

Races before and after

EvenD+26.71987R+7.01991D+9.11995D+17.71999D+11.92011D+8.42015

Source: Harvard Dataverse / Carl KlarnerUpdated Sep 30, 2026, 7:29 AM ET