Scott had 46 percent of the vote and McCollum 43 percent with 92 percent of precincts reporting Tuesday night.
The 57-year-old Scott won despite repeated questions about his leadership of the hospital conglomerate Columbia/HCA. It paid a record fine for Medicare fraud.
The 66-year-old McCollum is a former congressman and the state's elected attorney general. He garnered numerous endorsements but was outspent 3-to-1 by Scott, who poured more than $38 million of his own money into the campaign.
Scott will face Democrat Alex Sink in the Nov. 2 general election.