The country singer beat actress Marlee Matlin to the title, in what Donald Trump described as one of the closest finals yet.
Rich, 37, looked humbled as Trump revealed he was the winner - and then shared a celebratory hug with former contestant Lil Jon.
The singer said the contest had been a “tornado of activity”, while 45-year-old Matlin said the final in particular had been an “amazing week”.
Trump, who walked into the studio along a red carpet, told the two finalists they had “both been amazing”.
“Marlee, you raised more money than anyone on a single night - over $1 million. That is just absolutely incredible,” he said.
“John, from the beginning you’ve been a leader. You’ve been strong, you’ve been smart, you’ve been sharp.”
But Trump eventually named Rich the winner and revealed the show had raised more than $3 million for charity this year.
The final Celebrity task saw the contestants designing retro advertising campaigns for the soft drink 7-Up.
While Rich drafted in Twisted Sister Dee Snider and rock group Def Leppard for his '80s-themed campaign, Matlin used the Harlem Globetrotters and actor Geoffrey Holder for her '70s-style ad.