American Idol hopeful Casey James has been given the boot, leaving Crystal Bowersox and Lee DeWyze to battle it out in the next week's final.
The Texan singer received the fewest votes after Simon Cowell called his rendition of Eric Hutchinson's OK, It's Alright With Me insubstantial.
Bowersox and DeWyze, both 24, have been front runners for most of the series.
The final, which will mark Cowell's final stint as a judge, takes place on Wednesday, 26 May in the US.
The show is screened on ITV2 on Thursdays in the UK.
In the semi-final, each musician had two performances - with the most rapturous reception given to DeWyze's version of Leonard Cohen's Hallelujah.
James faltered on OK, It's Alright With Me, which Cowell branded "a dud".
"If you're having dinner, that's the salad," he said. "In other words, there's hopefully something more substantial to come."
Host Ryan Seacrest revealed that more than 47 million votes were cast after this week's episode. That is a significant drop from last year, when 88 million votes were cast for the semi-final.
James' elimination gives Bowersox, a dreadlocked singer-songwriter from Toledo, Ohio and DeWyze, a paint sales clerk from Illinois, the chance to win the ninth series of American Idol.
Neither singer has ever fallen into the "bottom three" and faced eviction.
Kris Allen won last year's American Idol.