North Carolina State Senate District 21
Tue, Nov 3 · Represented by Tom McInnis Republican · Member list as of Oct 28
Last result · 2024 general: Tom McInnis (R) 62.8, Maurice "Butch" Holland Jr. (D) 37.2
- Earlier results
- Tom McInnis (Republican) won by 9.3 points, 2022, older linesBen Clark (Democratic) won by 36.0 points, 2020, older linesAll 28 elections
Side by side
Left column: McInnisRight column: Taylor
- Donor-based spectrum
- LiberalCentristConservativeMcInnisNo published score for Taylor
How these are counted
The spectrum is a published research score, not our rating. How this works.
Past results
- Votes for listed candidates
- 107,573
- Election day
- November 5, 2024
- District map
- Same as today
North Carolina Senate District 21, 1970 to 2024, 2024, every candidate Candidate Party Votes and share Share RepublicanTom McInnisWon Republican 67,50862.8% DemocraticMaurice "Butch" Holland Jr. Democratic 40,06537.2% - Votes for listed candidates
- 66,749
- Election day
- November 8, 2022
- District map
- Older district map (2022 to 2023)
North Carolina Senate District 21, 1970 to 2024, 2022, every candidate Candidate Party Votes and share Share RepublicanTom McInnisWon(incumbent) Republican 36,46854.6% DemocraticFrank McNeill Democratic 30,28145.4% - Votes for listed candidates
- 73,662
- Election day
- November 3, 2020
- District map
- Older district map (2018 to 2019)
North Carolina Senate District 21, 1970 to 2024, 2020, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 50,10568.0% RepublicanSev Palacios Republican 23,55732.0% - Votes for listed candidates
- 46,761
- Election day
- November 6, 2018
- District map
- Older district map (2018 to 2019)
North Carolina Senate District 21, 1970 to 2024, 2018, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 33,17671.0% RepublicanTimothy Leever Republican 13,58529.1%
- 2024: MEDSL 2024 official precinct returns (individual_states zips), retrieved Oct 28, 2026. Compiled by MIT Election Data and Science Lab (MEDSL) from official returns; not an official source
- 1970 to 2022: State Legislative Election Returns, 1967-2022 (Carl Klarner, Harvard Dataverse), retrieved Oct 28, 2026. Compiled by Carl Klarner (Harvard Dataverse) from official returns; not an official source
Last contest in this district on file: 2024.
All elections (28 for this seat)
- Votes for listed candidates
- 107,573
- Election day
- November 5, 2024
- District map
- Same as today
North Carolina Senate District 21, 1970 to 2024, 2024, every candidate Candidate Party Votes and share Share RepublicanTom McInnisWon Republican 67,50862.8% DemocraticMaurice "Butch" Holland Jr. Democratic 40,06537.2% - Votes for listed candidates
- 66,749
- Election day
- November 8, 2022
- District map
- Older district map (2022 to 2023)
North Carolina Senate District 21, 1970 to 2024, 2022, every candidate Candidate Party Votes and share Share RepublicanTom McInnisWon(incumbent) Republican 36,46854.6% DemocraticFrank McNeill Democratic 30,28145.4% - Votes for listed candidates
- 73,662
- Election day
- November 3, 2020
- District map
- Older district map (2018 to 2019)
North Carolina Senate District 21, 1970 to 2024, 2020, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 50,10568.0% RepublicanSev Palacios Republican 23,55732.0% - Votes for listed candidates
- 46,761
- Election day
- November 6, 2018
- District map
- Older district map (2018 to 2019)
North Carolina Senate District 21, 1970 to 2024, 2018, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 33,17671.0% RepublicanTimothy Leever Republican 13,58529.1% - Votes for listed candidates
- 68,417
- Election day
- November 8, 2016
- District map
- Older district map (2012 to 2017)
North Carolina Senate District 21, 1970 to 2024, 2016, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 49,07971.7% RepublicanDan Travieso Republican 19,33828.3% - Votes for listed candidates
- 31,663
- Election day
- November 4, 2014
- District map
- Older district map (2012 to 2017)
North Carolina Senate District 21, 1970 to 2024, 2014, every candidate Candidate Party Votes and share Share DemocraticBen ClarkWon(incumbent) Democratic 31,663100.0% - Votes for listed candidates
- 57,805
- Election day
- November 6, 2012
- District map
- Older district map (2012 to 2017)
North Carolina Senate District 21, 1970 to 2024, 2012, every candidate Candidate Party Votes and share Share DemocraticRobert B. Clark IIIWon Democratic 57,805100.0% - Votes for listed candidates
- 31,066
- Election day
- November 2, 2010
- District map
- Older district map (2004 to 2011)
North Carolina Senate District 21, 1970 to 2024, 2010, every candidate Candidate Party Votes and share Share DemocraticEric L. MansfieldWon Democratic 21,00467.6% RepublicanWade Fowler Republican 10,06232.4% - Votes for listed candidates
- 48,430
- Election day
- November 4, 2008
- District map
- Older district map (2004 to 2011)
North Carolina Senate District 21, 1970 to 2024, 2008, every candidate Candidate Party Votes and share Share DemocraticLarry ShawWon(incumbent) Democratic 48,430100.0% - Votes for listed candidates
- 21,756
- Election day
- November 7, 2006
- District map
- Older district map (2004 to 2011)
North Carolina Senate District 21, 1970 to 2024, 2006, every candidate Candidate Party Votes and share Share DemocraticLarry ShawWon(incumbent) Democratic 13,41261.6% RepublicanJuanita M. Gonzalez Republican 8,34438.4% - Votes for listed candidates
- 45,525
- Election day
- November 2, 2004
- District map
- Older district map (2004 to 2011)
North Carolina Senate District 21, 1970 to 2024, 2004, every candidate Candidate Party Votes and share Share DemocraticLarry ShawWon(incumbent) Democratic 27,86661.2% RepublicanRichard D. Evans Republican 16,43436.1% LibertarianBrian Irving Libertarian 1,2252.7% - Votes for listed candidates
- 24,877
- Election day
- November 5, 2002
- District map
- Older district map (2002 to 2003)
North Carolina Senate District 21, 1970 to 2024, 2002, every candidate Candidate Party Votes and share Share DemocraticLarry ShawWon(incumbent) Democratic 16,58466.7% RepublicanRichard D. Evans Republican 8,29333.3% - Votes for listed candidates
- 57,611
- Election day
- November 7, 2000
- District map
- Older district map (1992 to 2001)
North Carolina Senate District 21, 1970 to 2024, 2000, every candidate Candidate Party Votes and share Share RepublicanHugh WebsterWon(incumbent) Republican 31,99455.5% DemocraticWiley P. Wooten Democratic 25,61744.5% - Votes for listed candidates
- 38,676
- Election day
- November 3, 1998
- District map
- Older district map (1992 to 2001)
North Carolina Senate District 21, 1970 to 2024, 1998, every candidate Candidate Party Votes and share Share RepublicanHugh WebsterWon(incumbent) Republican 20,77853.7% DemocraticT. Frank Bennett Democratic 17,89846.3% - Votes for listed candidates
- 51,366
- Election day
- November 5, 1996
- District map
- Older district map (1992 to 2001)
North Carolina Senate District 21, 1970 to 2024, 1996, every candidate Candidate Party Votes and share Share RepublicanHugh WebsterWon(incumbent) Republican 26,44651.5% DemocraticGeorge B. Daniel Democratic 24,92048.5% - Votes for listed candidates
- 32,145
- Election day
- November 8, 1994
- District map
- Older district map (1992 to 2001)
North Carolina Senate District 21, 1970 to 2024, 1994, every candidate Candidate Party Votes and share Share RepublicanHugh WebsterWon Republican 16,97852.8% DemocraticGeorge B. Daniel(incumbent) Democratic 15,16747.2% - Votes for listed candidates
- 50,643
- Election day
- November 3, 1992
- District map
- Older district map (1992 to 2001)
North Carolina Senate District 21, 1970 to 2024, 1992, every candidate Candidate Party Votes and share Share DemocraticGeorge B. DanielWon(incumbent) Democratic 28,68256.6% RepublicanHubert G. Lowe Republican 21,96143.4% - Votes for listed candidates
- 37,326
- Election day
- November 6, 1990
- District map
- Older district map (1982 to 1991)
North Carolina Senate District 21, 1970 to 2024, 1990, every candidate Candidate Party Votes and share Share DemocraticGeorge B. DanielWon(incumbent) Democratic 22,86161.3% RepublicanJoe Barbour Republican 14,46538.8% - Votes for listed candidates
- 40,474
- Election day
- November 8, 1988
- District map
- Older district map (1982 to 1991)
North Carolina Senate District 21, 1970 to 2024, 1988, every candidate Candidate Party Votes and share Share DemocraticGeorge DanielWon(incumbent) Democratic 23,32257.6% RepublicanJames M. Cole Republican 17,15242.4% - Votes for listed candidates
- 33,238
- Election day
- November 4, 1986
- District map
- Older district map (1982 to 1991)
North Carolina Senate District 21, 1970 to 2024, 1986, every candidate Candidate Party Votes and share Share DemocraticGeorge B. DanielWon Democratic 20,91262.9% RepublicanCary D. Allred Republican 12,32637.1% - Votes for listed candidates
- 24,761
- Election day
- November 6, 1984
- District map
- Older district map (1982 to 1991)
North Carolina Senate District 21, 1970 to 2024, 1984, every candidate Candidate Party Votes and share Share DemocraticJohn M. JordanWon Democratic 24,761100.0% - Votes for listed candidates
- 26,690
- Election day
- November 2, 1982
- District map
- Older district map (1982 to 1991)
North Carolina Senate District 21, 1970 to 2024, 1982, every candidate Candidate Party Votes and share Share RepublicanCarey AllredWon(incumbent) Republican 13,77451.6% DemocraticWiley P. Wooten Democratic 12,91648.4% - Votes for listed candidates
- 153,393
- Election day
- November 4, 1980
- Seats
- 2
- District map
- Older district map (1972 to 1981)
North Carolina Senate District 21, 1970 to 2024, 1980, every candidate Candidate Party Votes and share Share RepublicanPaul S. SmithWon Republican 42,00827.4% RepublicanGilbert Lee BogerWon Republican 39,97726.1% DemocraticJack Childers Democratic 36,82724.0% DemocraticRobert M. Davis Jr.(incumbent) Democratic 34,58122.5% - Votes for listed candidates
- 83,172
- Election day
- November 7, 1978
- Seats
- 2
- District map
- Older district map (1972 to 1981)
North Carolina Senate District 21, 1970 to 2024, 1978, every candidate Candidate Party Votes and share Share DemocraticRobert M. Davis Jr.Won Democratic 22,51927.1% RepublicanWilliam E. LangWon Republican 22,20526.7% RepublicanGilbert Lee Boger Republican 21,04625.3% DemocraticJack Childers(incumbent) Democratic 17,40220.9% - Votes for listed candidates
- 141,798
- Election day
- November 2, 1976
- Seats
- 2
- District map
- Older district map (1972 to 1981)
North Carolina Senate District 21, 1970 to 2024, 1976, every candidate Candidate Party Votes and share Share DemocraticJack ChildersWon(incumbent) Democratic 37,91726.7% RepublicanRobert Vance SomersWon Republican 37,00226.1% DemocraticTom Suddarth(incumbent) Democratic 35,37524.9% RepublicanGilbert T. Davis Jr. Republican 31,50322.2% OtherCharles Penry Other 10.0% - Votes for listed candidates
- 100,050
- Election day
- November 4, 1974
- Seats
- 2
- District map
- Older district map (1972 to 1981)
North Carolina Senate District 21, 1970 to 2024, 1974, every candidate Candidate Party Votes and share Share DemocraticJack ChildersWon Democratic 30,67630.7% DemocraticTom SuddarthWon Democratic 29,66929.6% RepublicanGilbert T. Davis Jr. Republican 23,48523.5% RepublicanRobert Vance Somers(incumbent) Republican 16,22016.2% - Votes for listed candidates
- 110,233
- Election day
- November 7, 1972
- Seats
- 2
- District map
- Older district map (1972 to 1981)
North Carolina Senate District 21, 1970 to 2024, 1972, every candidate Candidate Party Votes and share Share RepublicanPhillip J. Kirk Jr.Won(incumbent) Republican 43,69339.6% RepublicanRobert Vance SomersWon Republican 39,23835.6% DemocraticGeorge L. Hundley Democratic 27,29224.8% OtherJenny Anderson Other 50.0% OtherDonald Sidden Other 20.0% OtherJames Boyd Thompson Other 20.0% OtherPurcell Yarbrough Other 10.0% - Votes for listed candidates
- 34,765
- Election day
- November 3, 1970
- District map
- Older district map (1966 to 1971)
North Carolina Senate District 21, 1970 to 2024, 1970, every candidate Candidate Party Votes and share Share DemocraticFred Folger Jr.Won(incumbent) Democratic 19,03254.7% RepublicanWilliam Hiatt Republican 15,73345.3%
- 2024: MEDSL 2024 official precinct returns (individual_states zips), retrieved Oct 28, 2026. Compiled by MIT Election Data and Science Lab (MEDSL) from official returns; not an official source
More about this race
Source: s3.amazonaws.com (CSV), dated Oct 25
District map
- Democratic
- Republican
- Independent
- Nonpartisan
- More than one party
- No member listed
Map settings
Vote in North Carolina
Trouble voting? Election Protection hotline: 866-OUR-VOTE. A nonpartisan coalition of civil-rights and voting-rights groups, not a government service. 866ourvote.org
Official results for North Carolina
Download and cite
Cite this page
Election Wrld. (2026). North Carolina State Senate District 21, election results 1970 to 2024. https://www.electionwrld.com/nc/senate/21. Retrieved October 31, 2026.
Embed this seat
<iframe src="https://www.electionwrld.com/embed/nc/senate/21" title="North Carolina Senate District 21" width="100%" height="400" style="border:0;max-width:640px" loading="lazy"></iframe>
<p style="font-size:13px">Data: <a href="https://www.electionwrld.com">Election Wrld</a>, CC BY 4.0</p>Sources
Sources: Census TIGERweb Legislative MapServer (120th CDs layer 0, 119th CDs layer 4, 2026 SLD upper layer 1 and lower layer 2) (US Census Bureau, public domain), retrieved Oct 28, 2026; Open Civic Data division identifiers (census_autogenerated us_sldl/us_sldu and openstates state files); also (sld-recent.json): Open Civic Data division identifiers (country-us) (CC0 (repository); also (sld-recent.json): CC0 1.0), retrieved Oct 28, 2026; Open States people (current) CSVs (CC0-1.0 (Open States people data)), retrieved Oct 28, 2026, compiled by Open States volunteers and staff (rosters from state legislature sites) from official returns, not an official source; MEDSL 2024 official precinct returns (individual_states zips) (Not stated in the GitHub repository (an earlier label said "MIT (repo)", which the repository does not support). MEDSL's Harvard Dataverse records are CC0 1.0, but these GitHub files were not checksum-matched to the Dataverse files, so CC0 is not claimed for them.), retrieved Oct 28, 2026, compiled by MIT Election Data and Science Lab (MEDSL) from official returns, not an official source; State Legislative Election Returns, 1967-2022 (Carl Klarner, Harvard Dataverse) (CC0 1.0), retrieved Oct 28, 2026, compiled by Carl Klarner (Harvard Dataverse) from official returns, not an official source.
DataState data (JSON)Sources: State Legislative Election Returns, 1967-2022 (Carl Klarner, Harvard Dataverse), DIME (ODC-BY), MEDSL 2024 official precinct returnsData as of Oct 28, 2026