In the most highly anticipated grudge match of the season, it was Juan Espino who ended things with a bang.

After being antagonized by housemate Maurice Greene earlier in the season, Espino finally stepped into the cage with him on episode 11 of The Ultimate Fighter 28, and he picked up an impressive submission win to earn his spot in the TUF 28 heavyweight tournament finals.

Espino, known for his strong wrestling background, set up the finish with an early overhand right that clearly wobbled Greene. A left hook followed and Espino immediately pounced on Greene as he dropped to the mat. Greene was able to recover, but Espino maintained a body lock, which he used to drag Greene back down.

From there, Espino postured up and fired a few hard punches from top position. A badly hurt Greene gave up his back, allowing Espino to secure a fight-ending rear-naked choke in round one.

Espino (7-1) now moves on to represent coach Robert Whittaker against coach Kelvin Gastelum’s Justin Frazier (10-2) at The Ultimate Fighter 28 Finale on Nov. 30 in Las Vegas, with the winner earning a six-figure UFC contract.

In other storylines, Katharine Lehner and other members of Team Whittaker grow restless with what they consider to be unproductive training sessions. Whittaker and his coaches tell them they should focus and listen, but later they do a side session of their own led by Przemyslaw Mysiala and they’re pleased at getting to spar again.

Back at the house, Marciea Allen butts heads with a few of her teammates after being given control of the television for a viewing of a UFC pay-per-view.

The penultimate episode of TUF 28 also featured the Coaches Challenge, which this year was a 5K race composed of 13 laps around the track on a scorching hot day in Las Vegas. As with other seasons, the winning coach would receive $10,000 and his team members $1,500 each.

Whittaker, dressed in proper shorts to show how seriously he was taking the race, got out to an early lead and never let up, cruising to an easy win. Gastelum ended up pulling over and barfing, but ultimately finished the race with the help of his team running alongside him.

Here is the first TUF 28 tournament final matchup:

Justin Frazier vs. Juan Espino

Here are the remaining semifinal matchups and results so far:

Heavyweight

Justin Frazier def. Michel Batista via TKO (punches) in round one

Juan Espino def. Maurice Greene via submission (rear-naked choke) in round one

Featherweight

Pannie Kianzad def. Julija Stoliarenko via unanimous decision

Macy Chiasson vs. Leah Letson

Here are the complete first-round results:

Maurice Greene def. Przemyslaw Mysiala via KO (uppercut) in round one

Pannie Kianzad def. Katharina Lehner via unanimous decision

Justin Frazier def. Anderson da Silva via unanimous decision

Julija Stoliarenko def. Marciea Allen via submission (armbar) in round one

Michel Batista def. Josh Parisian via TKO (ground and pound) in round two

Leah Letson def. Bea Malecki via unanimous decision

Juan Espino def. Ben Sosoli via unanimous decision

Macy Chiasson def. Larissa Pacheco via first-round TKO (ground and pound)

On next week’s episode, Team Whittaker’s Leah Letson fights Team Gastelum’s Macy Chiasson in a featherweight semifinal bout for the right to meet Pannie Kianzad at the finale.

Season 28 of The Ultimate Fighter is being coached by UFC middleweight champion Robert Whittaker and top contender Kelvin Gastelum. Gastelum will challenge Whittaker for the middleweight title at UFC 234 on Feb. 10 at Rod Laver Arena in Melbourne, Australia.

The finalists of the TUF 28 heavyweight and featherweight tournaments will compete for a six-figure UFC contract at The Ultimate Fighter 28 Finale on Nov. 30 in Las Vegas.

Here is the TUF 28 roster divided by team:

Team Gastelum

Heavyweights

Justin Frazier

Maurice Greene

Josh Parisian

Ben Sosoli

Featherweights

Marciea Allen

Macy Chiasson

Pannie Kianzad

Bea Malecki

Team Whittaker

Heavyweights

Michel Batista

Juan Espino

Przemyslaw Mysiala

Anderson da Silva

Featherweights

Katharina Lehner

Leah Letson

Larissa Pacheco

Julija Stoliarenko

Advancing to the finals: Frazier, Kianzad, Espino

Advancing to Round 2: Greene, Kianzad, Frazier, Stoliarenko, Batista, Letson, Espino, Chiasson

Eliminated: Mysiala, Lehner, Da Silva, Allen, Parisian, Malecki, Sosoli, Pacheco