"Dancing With the Stars" kept serving the surprises to the very end of its 24th season.
In the final moments, the finale came down to the NFL vs. Major League Baseball, host Tom Bergeron said.
The winner was NFL player Rashad Jennings, who will tour with the show this summer.
The runner-up was former Chicago Cubs player David Ross, the weakest dancer of the three finalists. But judge Bruno Tonioli said Ross was "critic-proof" and the people's champion.
The third-place finisher was Fifth Harmony singer Normani Kordei, who received a standing ovation at her exit. She said she was grateful for the experience.
Bergeron was stunned by Kordei's elimination. She earned perfect judges' points (40) for the final fusion dance ahead of Jennings (39) and Ross (36). Judge Len Goodman said she was the most consistent dancer this season.
But Jennings reached his peak in the first half of the finale and earned perfect scores Monday night for two dances.
"Dancing With the Stars" remains Disney-owned ABC's most-watched show. ABC expanded the last telecast Tuesday to two and a half hours. Lady Antebellum, OneRepublic and Hailee Steinfeld performed.
All the celebrities from this season returned Tuesday night, and Mr. T headlined a video in which he and other contenders (Charo, Chris Kattan, Nancy Kerrigan) made the point that they had a blast even if they didn't win.
It was an unusual season because the women were generally stronger than the men, but Kerrigan, Heather Morris and Simone Biles were eliminated early. Then Kordei was out first in Tuesday's finale.
The last two dancers standing were men who made a fine showing for professional sports. They also embodied the show's central point that dancing can be embraced by everyone.