# 2020 Ohio Senate election

Elections in Ohio :
Federal government
U.S. President
1804
1808
1812
1816
1820
1824
1828
1832
1836
1840
1844
1848
1852
1856
1860
1864
1868
1872
1876
1880
1884
1888
1892
1896
1900
1904
1908
1912
1916
1920
1924
1928
1932
1936
1940
1944
1948
1952
1956
1960
1964
1968
1972
1976
1980
1984
1988
1992
1996
2000
Dem
2004
Dem
2008
Dem
Rep
2012
Rep
2016
Dem
Rep
2020
Dem
2024
Rep
U.S. Senate
1803
1807
1808
1808 (sp)
1809 (sp)
1810 (sp)
1812
1813
1814 (sp)
1815
1819
1821
1822 (sp)
1824
1827
1828 (sp)
1830
1833
1836
1837
1838
1842
1844
1849
1851
1854
1856
1860
1861 (sp)
1863
1866
1868
1872
1874
1877 (sp)
1880
1881
1884
1886
1890
1892
1896
1897 (sp)
1898
1902
1904
1904 (sp)
1909
1911
1914
1916
1920
1922
1926
1928
1928 (sp)
1930 (sp)
1932
1934
1938
1940
1944
1946
1946 (sp)
1950
1952
1954 (sp)
1956
1958
1962
1964
1968
1970
1974
1976
1980
1982
1986
1988
1992
1994
1998
2000
2004
2006
2010
2012
2016
2018
2022
2024
U.S. House of Representatives
1803
1804
1806
1808
1810
1812
1813
sp: 3
sp: 6
1814
1816
sp: 1
1818
1820
1821
sp: 4
1822
1824
1826
sp: 10
1827
sp: 8
1828
sp: 6
1830
sp: 11
1832
1834
sp: 1
sp: 19
1836
1837
sp: 17
1838
sp: 16
sp: 19
1840
sp: 4
1842
sp: 16
1843
1844
sp: 10
sp: 21
1846
1847
sp: 7
1848
1849
sp: 6
1850
1851
sp: 6
1852
1854
1856
1858
1859
sp: 14
1860
1861
sp: 7
sp: 13
1862
1864
1866
1867
sp: 2
1868
sp: 8
1870
sp: 10
1872
sp: 1
1874
1876
1878
1880
sp: 19
1882
1883
sp: 16
sp: 17
1884
1886
1888
1890
1892
sp: 16
1894
sp: 2
sp: 3
1896
1898
sp: 19
1899
sp: 16
1900
1902
1903
sp: 16
1904
sp: 19
1906
1908
1910
1912
1914
1916
1918
sp: 14
1920
1922
1924
1926
1927
sp: 2
1928
1930
1931
sp: 1
sp: 20
1932
1934
1936
sp: 11
sp: AL
1938
1940
sp: 17
sp: 22
1942
1944
1946
1947
sp: 4
1948
1950
1951
sp: 3
1952
1954
1956
1958
1960
sp: 6
1962
1964
1965
sp: 7
1966
1968
1970
sp: 19
1972
1974
sp: 1
1976
1978
1980
1981
sp: 4
1982
sp: 17
1984
1986
1988
1990
1992
1993
sp: 2
1994
1996
1998
2000
2002
2004
2005
sp: 2
2006
2
2007
sp: 5
2008
sp: 11
2010
2012
2014
2016
sp: 8
2018
sp: 12
2020
2021
sp: 11
sp: 15
2022
2024
sp: 6 :
State government
General elections
2010
2012
2014
2016
2018
2020
2022
2024
Gubernatorial elections
1803
1805
1807
1808
1810
1812
1814
1816
1818
1820
1822
1824
1826
1828
1830
1832
1834
1836
1838
1840
1842
1844
1846
1848
1850
1851
1853
1855
1857
1859
1861
1863
1865
1867
1869
1871
1873
1875
1877
1879
1881
1883
1885
1887
1889
1891
1893
1895
1897
1899
1901
1903
1905
1908
1910
1912
1914
1916
1918
1920
1922
1924
1926
1928
1930
1932
1934
1936
1938
1940
1942
1944
1946
1948
1950
1952
1954
1956
1958
1962
1966
1970
1974
1978
1982
1986
1990
1994
1998
2002
2006
2010
2014
2018
2022
2026
Complete list
Lieutenant Governor elections
Complete list
Secretary of State elections
2022
Complete list
Attorney General elections
2008 sp
2010
2014
2018
2022
Complete list
State Auditor elections
Complete list
State Treasurer elections
Complete list
State Supreme Court elections
Complete list
State House elections
2016
2018
2020
2022
2024
State Senate elections
2018
2020
2022
2024 :
Ballot measures
2004
Issue 1
2011
Issue 2
2018
Issue 1
2022
Issue 1
2023
August Issue 1
November Issue 1
Issue 2
2024
Issue 1 :
Akron
Mayoral elections
2023 :
Cincinnati
Mayoral elections
2001
2005
2009
2013
2017
2021
City Council elections
List of elections :
Cleveland
Mayoral elections
1901
1933
1935
1937
1939
1941
1943
1945
1947
1949
1951
1953
1955
1957
1959
1961
1962 (special)
1963
1965
1967
1969
1971
1973
1975
1977
1978 (recall)
1979
1981
1985
1989
1993
1997
2001
2005
2009
2013
2017
2021
City Council elections
2021 :
Columbus
Mayoral elections
1899
1901
1903
1905
1907
1909
1919
1911
1913
1915
1919
1923
1927
1931
1935
1939
1943
1947
1951
1955
1959
1963
1967
1971
1975
1979
1983
1987
1991
1995
1999
2003
2007
2011
2015
2019
2023
City Council elections
2023 :
Cuyahoga County
County executive elections
2010
2014
2018
2022
County Council elections
2010
2012
2014
2016
2018 :
Toledo
Mayoral elections
2013
2015 (special)
2017
2021 :
vte :
The 2020 Ohio Senate election was held on November 3, 2020, with the primary election held on April 28, 2020. Ohio voters elected state senators in the 16 even-numbered Ohio Senate districts. State senators elected in 2020 will be eligible to serve a four-year term beginning January 2021 and ending December 2024. These elections coincided with elections for U.S. President and the Ohio House.
Although Democrats had hoped to break the Republican supermajority in the chamber (which would have required them to pick up three seats), they ended up losing one, further consolidating Republican control.

## Predictions

| Source | Ranking | As of |
| The Cook Political Report | Likely R | October 21, 2020 |

## Statewide results

| Party | Party | Candidates | Votes | Votes | Votes | Seats Won | Seats Won | Seats Won |
| Party | Party | Candidates | No. | % | +/– | No. | +/– | % |
| | Republican Party | 16 | 1,754,433 | 61.48 | 5.14 | 15 | 1 | 93.75 |
| | Democratic Party | 16 | 1,097,400 | 38.45 | 5.07 | 1 | 1 | 6.25 |
| | Independent | 2 | 1,950 | 0.07 | 0.07 | 0 | 0 | 0.00 |
| Total | Total | | 2,853,783 | 100.00 | | 16 | | 100.00 |
Popular vote
Republican
61.48%
Democratic
38.45%
Independent
0.07% :
Senate seats won
Republican
93.75%
Democratic
6.25% :

### Close races

Seats where the margin of victory was under 10%:
* District 16, 0.06%
* District 32, 2% (gain)
* District 6, 6.34%
* District 24, 8.68%

## Results by district
### Overview

Results of the 2020 Ohio Senate election :
| District | Incumbent Status | Incumbent | Winner | Winner | Result |
| 2nd | Running | Theresa Gavarone | Theresa Gavarone | Theresa Gavarone | Incumbent Republican re-elected |
| 4th | Term-limited | Bill Coley | | George Lang | Republican hold |
| 6th | Term-limited | Peggy Lehner | | Niraj Antani | Republican hold |
| 8th | Running | Louis Blessing | Louis Blessing | Louis Blessing | Incumbent Republican re-elected |
| 10th | Running | Bob Hackett | Bob Hackett | Bob Hackett | Incumbent Republican re-elected |
| 12th | Running | Matt Huffman | Matt Huffman | Matt Huffman | Incumbent Republican re-elected |
| 14th | Running | Terry Johnson | Terry Johnson | Terry Johnson | Incumbent Republican re-elected |
| 16th | Running | Stephanie Kunze | Stephanie Kunze | Stephanie Kunze | Incumbent Republican re-elected |
| 18th | Term-limited | John Eklund | | Jerry Cirino | Republican hold |
| 20th | Running | Tim Schaffer | Tim Schaffer | Tim Schaffer | Incumbent Republican re-elected |
| 22nd | Term-limited | Larry Obhof | | Mark Romanchuk | Republican hold |
| 24th | Running | Matt Dolan | Matt Dolan | Matt Dolan | Incumbent Republican re-elected |
| 26th | Term-limited | David Burke | | Bill Reineke | Republican hold |
| 28th | Running | Vernon Sykes | Vernon Sykes | Vernon Sykes | Incumbent Democrat re-elected |
| 30th | Running | Frank Hoagland | Frank Hoagland | Frank Hoagland | Incumbent Republican re-elected |
| 32nd | Running | Sean O'Brien | | Sandra O'Brien | Republican gain |

### Detailed results
#### District 2
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Joel O'Dorisio | 12,170 | 52.2 |
| | Democratic | Reem Subei | 11,162 | 47.8 |
| Total votes | Total votes | Total votes | 23,332 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Theresa Gavarone (incumbent) | 17,352 | 100.0 |
| Total votes | Total votes | Total votes | 17,352 | 100.0 |

##### General election results

Ohio's 2nd Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Theresa Gavarone (incumbent) | 122,084 | 62.2 |
| | Democratic | Joel O'Dorisio | 74,240 | 37.8 |
| Total votes | Total votes | Total votes | 196,324 | 100.0 |
| | Republican hold | Republican hold | Swing | 4.2 |

#### District 4
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Kathy Wyenandt | 12,568 | 100.0 |
| Total votes | Total votes | Total votes | 12,568 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | George Lang | 12,579 | 49.4 |
| | Republican | Candice Keller | 8,318 | 32.7 |
| | Republican | Lee Wong | 4,568 | 17.9 |
| Total votes | Total votes | Total votes | 25,465 | 100.0 |

##### General election results

Ohio's 4th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | George Lang | 106,021 | 60.5 |
| | Democratic | Kathy Wyenandt | 68,000 | 38.8 |
| | Independent | Kent Keller (write-in) | 1,126 | 0.6 |
| Total votes | Total votes | Total votes | 175,147 | 100.0 |
| | Republican hold | Republican hold | Swing | 7.1 |

#### District 6
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Mark Fogel | 16,867 | 82.2 |
| | Democratic | Albert Griggs, Jr. | 3,643 | 17.8 |
| Total votes | Total votes | Total votes | 20,510 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Niraj Antani | 14,866 | 64.4 |
| | Republican | Rachel Selby | 5,317 | 23.1 |
| | Republican | Gregory Alan Robinson | 2,885 | 12.5 |
| Total votes | Total votes | Total votes | 23,068 | 100.0 |

##### General election results

Ohio's 6th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Niraj Antani | 99,096 | 53.2 |
| | Democratic | Mark Fogel | 87,280 | 46.8 |
| Total votes | Total votes | Total votes | 186,376 | 100.0 |
| | Republican hold | Republican hold | Swing | 14.9 |

#### District 8
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Daniel Brown | 18,091 | 100.0 |
| Total votes | Total votes | Total votes | 18,091 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Louis Blessing (incumbent) | 20,544 | 100.0 |
| Total votes | Total votes | Total votes | 20,544 | 100.0 |

##### General election results

Ohio's 8th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Louis Blessing (incumbent) | 112,313 | 60.1 |
| | Democratic | Daniel Brown | 74,565 | 39.9 |
| Total votes | Total votes | Total votes | 186,878 | 100.0 |
| | Republican hold | Republican hold | Swing | 2.8 |

#### District 10
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Charles Ballard | 16,232 | 100.0 |
| Total votes | Total votes | Total votes | 16,232 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Bob Hackett (incumbent) | 29,116 | 100.0 |
| Total votes | Total votes | Total votes | 29,116 | 100.0 |

##### General Election Results

Ohio's 10th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Bob Hackett (incumbent) | 109,456 | 65.3 |
| | Democratic | Charles Ballard | 58,126 | 34.7 |
| Total votes | Total votes | Total votes | 167,582 | 100.0 |
| | Republican hold | Republican hold | Swing | 0.2 |

#### District 12
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Ken Poling | 10,900 | 100.0 |
| Total votes | Total votes | Total votes | 10,900 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Matt Huffman (incumbent) | 33,710 | 100.0 |
| Total votes | Total votes | Total votes | 33,710 | 100.0 |

##### General Election Results

79.3
Ohio's 12th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Matt Huffman (incumbent) | 129,218 | |
| | Democratic | Ken Poling | 33,800 | 20.7 |
| Total votes | Total votes | Total votes | 164,018 | 100.0 |
| | Republican hold | Republican hold | Swing | 20.7 |

#### District 14
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Ryan Ottney | 13,060 | 100.0 |
| Total votes | Total votes | Total votes | 13,060 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Terry Johnson (incumbent) | 29,928 | 76.3 |
| | Republican | David Uible | 9,278 | 23.7 |
| Total votes | Total votes | Total votes | 39,206 | 100.0 |

##### General Election Results

Ohio's 14th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Terry Johnson (incumbent) | 127,588 | 72.7 |
| | Democratic | Ryan Ottney | 47,843 | 27.3 |
| Total votes | Total votes | Total votes | 175,431 | 100.0 |
| | Republican hold | Republican hold | Swing | 0.8 |

#### District 16
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Crystal Lett | 23,349 | 78.8 |
| | Democratic | Troy Doucet | 4,389 | 14.8 |
| | Democratic | Mark Bailey | 1,880 | 6.4 |
| Total votes | Total votes | Total votes | 29,618 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Stephanie Kunze (incumbent) | 13,098 | 100.0 |
| Total votes | Total votes | Total votes | 13,098 | 100.0 |

##### General Election Results

Ohio's 16th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Stephanie Kunze (incumbent) | 106,053 | 50.03 |
| | Democratic | Crystal Lett | 105,937 | 49.97 |
| Total votes | Total votes | Total votes | 211,990 | 100.0 |
| | Republican hold | Republican hold | Swing | 9.0 |

#### District 18
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Betsy Rader | 23,183 | 100.0 |
| Total votes | Total votes | Total votes | 23,183 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Jerry Cirino | 23,690 | 100.0 |
| Total votes | Total votes | Total votes | 23,690 | 100.0 |

##### General Election Results

Ohio's 18th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Jerry Cirino | 115,754 | 60.5 |
| | Democratic | Betsy Rader | 75,535 | 39.5 |
| Total votes | Total votes | Total votes | 191,289 | 100.0 |
| | Republican hold | Republican hold | Swing | 4.8 |

#### District 20
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Christian Johnson | 13,993 | 100.0 |
| Total votes | Total votes | Total votes | 13,993 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Tim Schaffer (incumbent) | 25,458 | 100.0 |
| Total votes | Total votes | Total votes | 25,458 | 100.0 |

##### General Election Results

Ohio's 20th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Tim Schaffer (incumbent) | 121,844 | 69.5 |
| | Democratic | Christian Johnson | 53,477 | 30.5 |
| Total votes | Total votes | Total votes | 175,321 | 100.0 |
| | Republican hold | Republican hold | Swing | 30.5 |

#### District 22
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Steve Johnson | 16,506 | 100.0 |
| Total votes | Total votes | Total votes | 16,506 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Mark Romanchuk | 17,629 | 58.3 |
| | Republican | Ron Falconi | 6,909 | 22.8 |
| | Republican | Cory Branham | 3,701 | 12.2 |
| | Republican | Michael Reynolds | 1,289 | 4.3 |
| | Republican | Timothy Hoven | 726 | 2.4 |
| Total votes | Total votes | Total votes | 30,254 | 100.0 |

##### General Election Results

Ohio's 22nd Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Mark Romanchuk | 130,273 | 68.9 |
| | Democratic | Ryan Hunger | 58,924 | 31.1 |
| Total votes | Total votes | Total votes | 189,197 | 100.0 |
| | Republican hold | Republican hold | Swing | 0.9 |

#### District 24
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Tom Jackson | 28,496 | 100.0 |
| Total votes | Total votes | Total votes | 28,496 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Matt Dolan (incumbent) | 18,161 | 100.0 |
| Total votes | Total votes | Total votes | 18,161 | 100.0 |

##### General Election Results

Ohio's 24th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Matt Dolan (Incumbent) | 112,609 | 54.3 |
| | Democratic | Tom Jackson | 94,633 | 45.7 |
| Total votes | Total votes | Total votes | 207,242 | 100.0 |
| | Republican hold | Republican hold | Swing | 3.8 |

#### District 26
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Craig Swartz | 14,208 | 100.0 |
| Total votes | Total votes | Total votes | 14,208 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Bill Reineke | 25,363 | 64.7 |
| | Republican | Melissa Ackison | 13,864 | 35.3 |
| Total votes | Total votes | Total votes | 39,227 | 100.0 |

##### General Election Results

Ohio's 26th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Bill Reineke | 114,776 | 70.6 |
| | Democratic | Craig Swartz | 47,050 | 28.9 |
| | Independent | Robert Taylor (write-in) | 824 | 0.5 |
| Total votes | Total votes | Total votes | 162,650 | 100.0 |
| | Republican hold | Republican hold | Swing | 29.4 |

#### District 28
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Vernon Sykes (incumbent) | 24,995 | 100.0 |
| Total votes | Total votes | Total votes | 24,995 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Michael Downey | 8,626 | 100.0 |
| Total votes | Total votes | Total votes | 8,626 | 100.0 |

##### General Election Results

Ohio's 28th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Democratic | Vernon Sykes (incumbent) | 88,929 | 59.8 |
| | Republican | Michael Downey | 59,701 | 40.2 |
| Total votes | Total votes | Total votes | 148,630 | 100.0 |
| | Democratic hold | Democratic hold | Swing | 1.4 |

#### District 30
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Michael Fletcher | 19,731 | 100.0 |
| Total votes | Total votes | Total votes | 19,731 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Frank Hoagland (incumbent) | 24,726 | 100.0 |
| Total votes | Total votes | Total votes | 24,726 | 100.0 |

##### General Election Results

Ohio's 30th Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Frank Hoagland (incumbent) | 110,243 | 66.8 |
| | Democratic | Michael Fletcher | 54.694 | 33.2 |
| Total votes | Total votes | Total votes | 164,937 | 100.0 |
| | Republican hold | Republican hold | Swing | 13.9 |

#### District 32
##### Primary results

Democratic primary :
| Party | Party | Candidate | Votes | % |
| | Democratic | Sean O'Brien (incumbent) | 26,151 | 100.0 |
| Total votes | Total votes | Total votes | 26,151 | 100.0 |
Republican primary :
| Party | Party | Candidate | Votes | % |
| | Republican | Sandra O'Brien | 13,519 | 69.3 |
| | Republican | Kenneth Polke | 5,983 | 30.7 |
| Total votes | Total votes | Total votes | 19,502 | 100.0 |

##### General Election Results

Ohio's 32nd Senate District General Election, 2020 :
| Party | Party | Candidate | Votes | % |
| | Republican | Sandra O'Brien | 77,404 | 51.0 |
| | Democratic | Sean O'Brien (incumbent) | 74,367 | 49.0 |
| Total votes | Total votes | Total votes | 151,771 | 100.0 |
| | Republican gain from Democratic | Republican gain from Democratic | Swing | 7.4 |