The Associated Press called the race for Meek with 38 percent of precincts reporting. Meek had 55 percent of the vote to Greene's 32 percent.

Greene spent close to $25 million of his personal funds on the Senate campaign, most of it spent on TV advertising, but was dogged by a series of negative stories about his business dealings and personal life.

Meek's campaign hit the real-estate mogul on everything from his investments in so-called credit default swaps to his personal relationship with former heavyweight boxer Mike Tyson.

Meek had issues of his own with the Democratic establishment, in state and nationally, and faced persistent questions over the party's level of devotion to his candidacy.

Even as Greene spent millions and made up significant ground on Meek, the White House appeared lukewarm in its support of the congressman. But by August, the White House offered up Chief of Staff Rahm Emanuel for a D.C. fundraiser and promised Meek acknowledgement at a Democratic Party fundraiser in Florida.

The president didn't headline a fundraiser or campaign event exclusively for Meek during the primary, but he did give the congressman an embrace at a Democratic Party fundraiser last week.

Meek also grabbed some extra face time with the president by greeting him on the airport tarmac in Miami and stopping at a South Beach deli for a corned beef sandwich with the commander in chief.

One constant for Meek was former President Bill Clinton, who headlined five fundraisers for Meek over the course of his primary campaign. He also made three campaign stops with Meek during the final week and recorded a last-minute robocall on his behalf. Meek was a strong backer of Hillary Clinton's 2008 presidential campaign.

Meek now faces a three-way race with Gov. Charlie Crist (I) and Rubio in which he'll need the party's full buy-in. Crist has been wooing Democratic voters and donors with at least modest success over the past month.

Meek has been polling in third place in match-ups with Crist and Rubio.—This post was updated at 8:23 p.m.