Seventeen-year-old Jordin Sparks has become the youngest ever winner of TV talent show American Idol.
Jordin Sparks was overwhelmed when she was told she had won
Sparks beat 25-year-old Blake Lewis in the final, which attracted a record 74 million telephone votes.
The teenager from Glendale, Arizona, will now receive a recording contract as her prize.
Legendary singer Smokey Robinson, who performed during the finale, said: "She sings so good, it's hard to believe that she's 17."
He added: "To sing like that, you would have to have lived for a long time. She's an old song."
Sparks thanked her family and said the experience "had turned out pretty cool".
Judge Simon Cowell tipped the teenager to win after her rendition of This Is Now, the tune picked by viewers in an online American Idol songwriting competition.
"If I'm going to call it, based on the last song, congratulations Jordin," he said before the winner was announced.
Blake Lewis (left) said he thought his rival would win
Lewis said he did not mind coming second. "I picked Jordin Sparks at the top 24 as the American Idol winner," he said.
"I was actually going to try to wear a Vote for Jordan Sparks T-shirt last night, but they wouldn't let me."
Gwen Stefani, Tony Bennett, Bette Midler, Green Day and Gladys Knight also performed along with several previous Idol winners including Kelly Clarkson.
Green Day sang their version of John Lennon's A Working Class Hero Is Something To Be, a single from Instant Karma: The Campaign to Save Darfur, a fundraising campaign for the troubled region in Sudan.
American Idol, now in its sixth season on the Fox network, is watched by about 30 million viewers a week.