Top 3 'American Idol' contestants revealed

Get the full recap!

At the end of the show, the contestants learned that Caleb Lee Hutchinson, Gabby Barrett and Maddie Poppe were moving on to the finals.

Michael J. Woodard and Cade Foehner were sent home.

Here are Sunday’s highlights:

Gabby Barrett tackled Underwood's “Last Name.” Following the performance, Bryan called Barrett, “Carrie Underwood reincarnated.” Richie agreed Gabby was "fabulous."

Cade Foehner put his spin on Underwood's “Undo It.” Underwood, noting that Cade had a tendency to be stuck on “level 10,” explained that a song needs “a beginning, a middle and an end.” The judges later echoed her sentiments, with Perry telling Cade that when he loses the dynamics, his performance becomes “a little shaky sometimes.”

Caleb Lee Hutchinson tackled Underwood’s 2007 hit “So Small.” Her advice for Caleb was to simply “stay out of your own way,” explaining that the 19-year-old had a tendency to become “overwhelmed" with what’s happening around him. Afterwards, Perry praised Hutchinson for his authenticity, but warned that he was being outperformed by the competition and needed to “flap those wings a little bit harder when it comes to working the crowd.”

For his Mother’s Day song, Caleb sang Jamey Johnson’s “Stars in Alabama.” Richie declared afterwards, “In this business, if I can close my eyes and know it’s you in two notes, that’s stardom.”

"American Idol" returns Sunday at 8 p.m. ET on ABC.