Vance topped Josh Mandel, a former state treasurer who had pitched himself in Trump's mold, and who had been near the top of polls for months.
The Republican nominee will face off against Democratic U.S. Rep. Tim Ryan, who won his party's contest earlier Tuesday evening, the AP said.
In 2016, Vance had called Trump "reprehensible" and an "idiot," but in his primary campaign, Vance did a 180 and said those comments were "stupid." He's since referred to Trump as "the greatest president in my lifetime."