The former Emmerdale actor who was the favourite to win the show beat off competition from Emma Barton and Karim Zeroual.
Kelvin joined the show last minute as the replacement for injured Jamie Laing just days before it was due to begin.
Looking utterly shocked, he said: "I'm absolutely speechless, I did not expect that, it's been such a privilege to be here."
Speaking after his win, Kelvin said: "I think this show represents everything that is amazing with this country, I think the people personify what is great and it's just been an absolute privilege."
He added, to Oti: "Thank you for the most amazing experience of my life. Thank you to Emma and Karim, Anton and Amy, and all the pros and all the celebs, the judges, everybody at home who has supported me, I feel so proud to be part of this, so thank you."
Oti, through tears, said: "I've been on this show for five years and I have never ever met any celeb who gives his heart, his soul...
"If something is not working we stay in training and rehearse, not because he wanted to win but because he genuinely, genuinely loves dancing, and for me that is the best gift and the best ending to my year, so thank you.