BBC Radio 1 DJ Edith Bowman has won the final of Celebrity Fame Academy, with more than 10 million people watching her victory on BBC One's Comic Relief.
DJ Edith Bowman (left) beat actress Kim Medcalf in the final
Viewers voted Bowman the winner ahead of EastEnders actress Kim Medcalf and third-placed comedian Adrian Edmondson.
The show, which featured 12 celebrities being trained to sing, raised more than £1.3m for charity from 8.25 million votes that were cast over two weeks.
Bowman said: "I'm utterly gobsmacked. I didn't expect to win."
The DJ, who sang Oasis' Champagne Supernova with Jools Holland and his band in the final, added: "I never came into here wanting to win or expecting to win.
"I came in here to do my bit for Comic Relief and enjoy the experience as well, which I was quite sceptical about when I first went in."
Comedian Adrian Edmondson came third in the public vote
Some 10.6m viewers watched as the result was announced just before 2300 GMT on Friday as part of BBC One's Red Nose Day, according to unofficial overnight figures.
Bowman, who was a 16/1 outsider when the contest began, was supported by Radio 1 and other famous friends including Chris Evans and Johnny Vegas.
Evans and Vegas both bet £100 on Bowman and will give their £2,400 combined winnings to Comic Relief, bookmakers Ladbrokes said. Ladbrokes said Bowman's win cost them a total of £20,000.
Medcalf, who plays Sam Mitchell in the soap, had been the favourite to win from the start. She sang Somewhere Over the Rainbow in the final.
Other celebrities taking part included Top of the Pops presenter Reggie Yates, Coronation Street actress Debra Stephenson and Monarch of the Glen star Dawn Steele.
Judges included the academy's "headmaster", radio executive Richard Park, and opera singer Lesley Garrett.