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
William H. FlannaganRepublican
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
Source: Harvard Dataverse / Carl KlarnerUpdated Sep 30, 2026, 7:29 AM ET