With over 90 percent of precincts reporting, the most-watched race of today's New York City elections was still extremely close. Bill de Blasio, to be sure, will take the most votes of all the Democratic primary candidates in Tuesday's race for the party's mayoral nomination But he needs 40 percent of the votes to prevent a runoff election. For most of the evening, his take hovered right around that mark, with candidate William Thompson trailing behind at around 26 percent. With 94 percent of precincts in, de Blasio crossed the magic 40 percent line: 

But just barely.

Meanwhile, other races were more clear: Joe Lhota won the Republican mayoral primary, beating out John Catsimatidis. With 84 percent of the votes in, the two leading GOP candidates were at 52 percent and 41 percent, respectively. And with 92 percent of precincts reporting, WNYC called the comptroller race for Scott Stringer, beating out Eliot Spitzer nearly 52 percent to 48 percent. 

The rest of the democratic mayoral candidates were running like this, with 92 percent of the votes in (via Huffington Post): 

Christine Quinn, finishing third, saw staffers implicitly acknowledging her primary defeat shortly after 10 p.m.: 

Anthony Weiner, with percentages in the single digits, conceded before 11. "We had the best ideas. Sadly, I was an imperfect messenger," he said.

His election party, meanwhile, shifted towards sideshow pretty quickly.

the 23-year-old told the Daily News that "I know he's gonna lose. I just felt like I needed to be here for that. Because I caused it." Weiner managed to avoid a confrontation with his former sexting partner. As Business Insider described it "Weiner got into his own victory party by sprinting through a McDonalds with the press and Leathers chasing behind him."

And this is how he left: