America's "Idol" is ... Carrie Underwood (search)!

It came down to the country girl vs. the rock star.

Wednesday night, in a special two-hour finale live from the Kodak Theater in Hollywood, "American Idol" host Ryan Seacrest announced who won America's hearts: Underwood, the fresh-faced 22-year-old crooner from Checotah, Okla., who beat runner-up Bo Bice (search), the long-haired 29-year-old rocker from Helena, Ala.

Wednesday night also had other treats in store. Bo sang with Southern rockers Lynyrd Skynyrd (search), and Carrie with country trio Rascal Flatts (search). Many former "Idols" also made appearances.

Underwood and Bice gave their final performances Tuesday night on the hit singing competition, coming to the finish line of what all the judges described as a tight race.

"It's gonna be really close," judge Randy Jackson said early in the night.

Tuesday night, Bice and Underwood were alone on stage when they performed three songs each: the "Idol" single "Inside Your Heaven"; an original song and an established pop hit.

Bice — decked out in jeans with his long locks looking extra shiny — went first, singing a romantic ballad called "The Long, Long Road."

Jackson said he didn't love the song, but Bice "still brought it home in the end." Judge Paula Abdul (search), ever full of praise, said: "You could sing Webster's dictionary and it would still sound good to me." Judge Simon Cowell (search), the harshest of the three critics, called the song "dreary."

Then it was on to Underwood, singing "Inside Your Heaven." Randy didn't love it but once again said Underwood "brought it home in the end." Simon said, "Round one goes to you."

On to the second round. Bice sang his favorite song from the season, "Vehicle."

Randy called the rocking song "hot." Paula said it was "authentic Bo." Simon pronounced: "We got ourselves a competition."

For her second song, Underwood sang country star Martina McBride's "Independence Day." Randy borrowed a phrase from the first round, calling it "hot," and Paula said it was "brilliant." Simon, however, didn't love it. "Round two goes to Bo," he declared.

Third round: Randy called Bice's stab at "Inside Your Heaven," his last song of the night, "amazing." Simon said it was the only time he'd seen Bice's nerves throughout the competition, but took the time to add that it was an "absolute pleasure" having Bice on the show.

Finally, Underwood gave the last performance of the season, singing "Angels Brought Me Here." Randy gave her a standing ovation. Simon, always a fan of Underwood, said, "I think you've done enough to win this competition."

Seacrest closed the show by urging Americans to vote, saying Bice and Underwood were only separated by 2 percent last week. About 40 million votes were expected.

So will Bice be "Idol"'s "hair" apparent? Or will Carrie carry the day?

Either way, both are assured record deals, as coming in second on "Idol" has proven to be just as lucrative.

"Really good things happen to the top two, so I am really excited about whatever lies ahead, because ... so many doors have opened for me, that I never thought I'd see, but it all [has] been incredible," Underwood told FOX News.

"American Idol" is the No. 1 series for the season in viewers (as opposed to households), averaging 27.3 million viewers per week. The finale, on the last day of the TV season, could guarantee FOX a first-ever ratings win among viewers age 18 to 49.

FOX News' Jennifer D'Angelo, Lisa Bernhard, the New York Post's Michael Starr and the Associated Press contributed to this report.

"American Idol" airs on FOX Network, a property of News Corp. News Corp. is the parent company of FOX News Channel, which operates FOXNews.com.