"Dancing With the Stars" season 28 semifinals was emotional, heartbreaking, and full of surprises. The remaining five couples—Lauren Alaina and Gleb Savchenko, Kel Mitchell and Witney Carson, Ally Brooke and Sasha Farber, Hannah Brown and Alan Bersten, and James Van Der Beek and Emma Slater—took the stage one after the other to perform their best dances before the finalists were revealed. Meanwhile, Carrie Ann Inaba, Len Goodman, Bruno Tonioli returned to the judges' panel.

The "DWTS" 2019 semifinals gave each couple two chances with two rounds of dances. For the first round, the semi-finalists performed a redemption dance and for the second they performed one unlearned dance in an attempt to get the best scores from judges and the viewers. For those who don't know, a redemption dance is a dance style that the couple may have found challenging earlier in the season.

Lauren and Gleb performed Paso Doble for their redemption dance round to the tune of "Stronger (What Doesn't Kill You)" by Kelly Clarkson and were awarded the score of 27/30. For the second round, they performed Viennese waltz on "Humble and Kind" by Tim McGraw and scored 27/9.

Kel and Witney performed tango for the first round on "Get Ready" by The Temptations. They earned 27/30. For their second performance, they did contemporary on "I Will Always Love You" by Whitney Houston and totally nailed it with 30/30 scores.

Ally and Sasha performed Viennese waltz on "Perfect" by Ed Sheeran. Their scores were 29/30. For their second performance, they performed Charleston on "Sing, Sing, Sing (With a Swing)" by Benny Goodman and got 30/30.

The much-anticipated performance of the night was given by "The Bachelorette" star Hannah and pro partner Alan. They performed rumba on "Dancing with a Stranger" by Sam Smith & Normani. For their second performance, they did contemporary on "Lose You to Love Me" by Selena Gomez. They got 27/30 for each performance.

James and Emma performed Cha-cha-cha on "Canned Heat" by Jamiroquai for their first performance of "DWTS" season 28 semifinals and earned 24/30. It was followed by foxtrot on "Take Me to Church" by Hozier and were given 27/30 points.

What followed after was the "hardest judges' verdict so far this season," according to the show host Tom Bergeron.

.@Lauren_Alaina’s Paso Doble has us feeling stronger. 💪 What a great start to the #DWTS #Semifinals, #TeamTonkyHonk! pic.twitter.com/yQndVUUB2B

— Dancing with the Stars (@DancingABC) November 19, 2019

Ally and Sasha and James and Emma made it to the bottom two. James and Emma were eliminated after Carrie Ann Inaba and Bruno Tonioli chose to save Ally and Sasha. The eliminations left Ally devastated making her want to switch her position with James.

Talk about a PERFECT performance, @AllyBrooke! 🤩 #TeamTimeToShine #DWTS pic.twitter.com/Z77OGhJL3N

— Dancing with the Stars (@DancingABC) November 19, 2019

DWTS season 28 finalists are:

Kel Mitchell and pro Witney Carson

Hannah Brown and pro Alan Bersten

Lauren Alaina and pro Gleb Savchenko

Ally Brooke and Sasha Farber.

Dancing With the Stars season 23
‘Dancing With the Stars’ Season 28 semifinals recap: Finalists revealed after devastating elimination ABC

"DWTS" season 28 airs finale next week on Monday, November 25 on ABC.