The former van driver sold 214,000 copies of his single Something I Need, which was originally recorded by US pop band OneRepublic.
His nearest rivals were Mark Ronson and Bruno Mars, whose song Uptown Funk dropped one place to number two.
Shortly after it was announced, Haenow thanked his fans on Twitter, saying: "You guys are amazing!"
Speaking about his chart success he said: "It's an incredible end to my year. I'm absolutely shocked, I can't believe it.
"I'm gonna go and have a few good drinks with my mates - definitely more than a few good drinks - to celebrate."
The top-selling album in the run-up to Christmas was Ed Sheeran's X, which shifted more than 214,000 copies last week - the most it has sold in a seven-day period.
X - pronounced "multiply" - was already the UK's biggest-selling album of the year, excluding compilations.
The singles chart also saw a high entry for novelty act The Wealdstone Raider.
The 48-year-old, whose real name is Gordon Hill, became famous when he was discreetly recorded at a football match, pint in hand, shouting "you've got no fans" to opponents of his football club, Wealdstone FC.
After being uploaded to YouTube, the video went viral, amassing more than eight million views.
His single, called Got No Fans, is raising money for Great Ormond Street Children's Hospital, Autism Concern and Wealdstone Raiders Youth FC.
It entered the chart at number five.
For the first time, streaming data counted towards the Christmas chart, benefitting acts like Mariah Carey and The Pogues, whose seasonal standards climbed back up the top 40.
Carey's All I Want For Christmas Is You reached number 18, while The Pogues' Fairytale of New York - boosted by download sales - reached number 11.
But the biggest beneficiary of the new chart rules was Ronson, who broke the all-time record for the most streamed track in a single week.
Uptown Funk was listened to almost 2.34 million times last week, smashing Sheeran's previous record of 1.72 million streams, set in November.
Band Aid 30, at one point considered to be a strong contender to top the Christmas charts, ended up in 17th place.
X Factor winner Ben Haenow has won the race for the Christmas number one, the Official Charts Company has announced.