Tonight, in a finish that left even the winner shocked, Kris Allen, a 23-year-old from Conway, Ark., came in first on season 8 of "American Idol."

The runner-up, 26-year-old Adam Lambert of San Diego, had been considered the likely winner since nearly the start of the season. His inventive performances and huge vocal range consistently won the best critiques from the judges while Kris, an assuming pop-rocker, flew under the radar for much of the season.

After the results of the voting on Tuesday’s final performance episode were announced (reportedly, nearly 100 million votes were cast, a show record), Kris was basically speechless. "Are you serious?" he asked host Ryan Seacrest. "Are you friggin’ serious?"

Asked how it felt to win, he said, "It feels good, but Adam deserves this."

Kris ended the night in a shower of confetti, singing what will likely be his first single, "No Boundaries," which was co-written by judge Kara DioGuardi. Ironically, that was the song that most highlighted the judges’ preference for Adam after both finalists had performed it on Monday’s show. In their final comments, the judges had almost seemed to be trying to prepare Kris for his inevitable loss.

PHOTO ESSAY: 'Idol' finales From Worst to First.

That was only the final quarter hour of the two-hour show, which was mostly filled with a variety of music.

Last season’s winner, David Cook, performed his song "Permanent." The version will be available on iTunes, and the proceeds will go to a charity seeking a cure for brain cancer. (Cook’s brother died last month of the disease.)

The previously eliminated finalists from this season all got what could be a last chance to sing on national TV. In addition to group numbers, most of the contestants were matched up with established performers. Among the better performances were Lil Rounds’ duet with Queen Latifah on "Cue the Rain," Allison Iraheta’s with Cyndi Lauper on "Time After Time," Kris’ with Keith Urban on "Kiss a Girl," and Adam’s with Kiss on "Detroit Rock City" and "Rock and Roll All Nite."

The five female contestants introduced Fergie, who sang "Big Girls Don’t Cry" solo and then was joined with the Black Eyed Peas on "Boom Boom Pow."

Megan Joy and Michael Sarver sang a bit of Americana called "Pretty Flowers," accompanied on banjo by Steve Martin, who wrote the song (and predicted that he would be the winner tonight).

Finally Adam and Kris fronted Queen for a rousing performance of "We Are the Champions."

Among the other musical guests were Lionel Richie, Carlos Santana, Jason Mraz, and Rod Stewart.

There were also some humor segments. Ryan Seacrest introduced four montages mocking the judges for their verbal tics. (Randy Jackson says "for me"; Kara DioGuardi calls rejected contestants "sweetie"; Paula Abdul stumbles over big words; and Simon Cowell keeps asking people to repeat what they just said.)

And Ryan presented the ironic Golden Idol awards, which "honor" the worst contestants from the early audition and Hollywood-week episodes. In the first of three prepared bits, the Outstanding Male award went to Nick Mitchell, who claimed he had no idea he was going to win, then ripped off his sweats to reveal he was dressed as his alter ego, Norman Gentle. He reprised his hysterical (in all senses of the word) rendition of "And I Am Telling You I’m Not Going."

The Best Attitude award went to Katrina Darrell, a.k.a. Bikini Girl, who walked onstage in the expected swimwear but looked notably bustier. "I was gonna ask you what’s new," said Ryan, "but I think I know." During her rendition of "Vision of Love," she was joined onstage by her fiercest critic, Kara, who outsang Katrina and then tore open her own black dress to reveal a skimpy black bikini. (Kara hurriedly declared that she did it on a bet and was going to donate the winnings to charity.)

And the Outstanding Female award went to the drama queen Tatiana Nicole Del Toro. When Ryan told her that there was no time for her to take the stage, she ran past security, grabbed her award and began singing her signature song, "Saving All My Love for You," before being dragged offstage.

Ryan ended the show by reminding us that it’s less than eight months till next January, when this starts all over again.