The 27-year-old former The Only Way Is Essex star walked away with a Syco recording contract after beating off competition from The Chase quizmaster Jenny Ryan girl band V5 and identical twins Max and Harvey.
Speaking to host Dermot O’Leary after being named winner, McKenna said: “Thank you so much for everybody that voted for me. I’m living my dream and I can’t even explain how excited I am.”
McKenna, who was coached by judge Louis Walsh, then belted out her winning song, a cover of It Must Have Been Love by Roxette.
The final saw the celebs getting into the Christmas spirit, with each act offering their best version of a classic festive track.
This saw Ryan serve up a cover of Have Yourself A Merry Little Christmas, while Max and Harvey took on George Michael’s Last Christmas, and V5 performed Mariah Carey’s All I Want For Christmas. McKenna gave audiences a rendition of Leona Lewis’ One More Sleep.
Saturday night’s show also saw the first live performance of The Pussycat Dolls in almost a decade. The group – consisting of X Factor judge Nicole Scherzinger, Ashley Roberts, Kimberly Wyatt, Carmit Bachar and Jessica Sutt – sang a medley of hits, such as When I Grow Up and Don’t Cha.
The evening also saw all live show contestants returning to perform a cover of Snow Patrol’s Run, which is being released as a charity single in aid of Shooting Star Children’s Hospices and Together For Short Lives.
While it’s currently unclear whether X Factor: Celebrity will return for a second run, mini-series The X Factor: The Band will be launching on Monday 9th December on ITV.
Get the latest TV and entertainment news direct to your inbox