A special election for Ohio's 12th congressional district was held on August 7, 2018, following the resignation of Republican U.S. Representative Pat Tiberi. The Republican Party nominated State Senator Troy Balderson for the seat while the Democratic Party nominated Franklin County Recorder Danny O'Connor. Balderson led O'Connor in preliminary results; however, the race was not officially called on election night. Counting of outstanding ballots began on August 18 and was completed on August 24. The outstanding ballots did not change the margin enough to trigger an automatic recount, so Balderson was declared the winner on August 24.
On October 19, 2017, nine-term incumbent Republican representative Pat Tiberi announced that he would leave office before January 31, 2018, in order to lead the Ohio Business Roundtable. On January 3, 2018, he announced that he would officially resign on January 15. On January 5, Ohio Governor John Kasich set the primaries for the special election for May 8, and the general election for August 7. The winner of this special election would serve for five months until January 2019, unless also elected in the regularly scheduled November general election.
Ohio's 12th congressional district at the time was located in the central portion of the state and included all of Delaware, Licking, and Morrow counties, as well as portions of Franklin, Marion, Muskingum, and Richland counties. The district had been in Republican hands for all but one term since 1939, and without interruption since 1983.
O'Connor dominated the district's portion of Franklin County, home to the largest share of the district's population. However, he could not overcome a 4,800-vote deficit in normally heavily Republican Delaware County, the largest whole county in the district. Still, this was the closest that a Democrat had come to winning the district since 1982.