BELOIT — In a matter of seconds, Thomas More Prep-Marian’s Lucas Lang went from agony to ecstasy.

With TMP clinging to a two-point lead in Thursday’s Class 3A sub-state semifinal against Hoisington, the Monarch junior guard missed two free throws with 23 seconds left, leaving the door open for the Cardinals.

Bralen Thompson proceeded to bury a 3-pointer to give Hoisington its first lead of the second half, putting the Cardinals up a point with 8.7 seconds remaining.

Instead of being haunted by the missed free throws, Lang made sure the game will be etched into his memory for a different reason.

Lang redeemed himself by hitting a 3-pointer at the buzzer to send the Monarchs into the sub-state finals with a rousing 69-67 victory.

"After missing those two (free throws), it’s one of the worst feelings you can have on the basketball court, and then one of the best just seconds later," Lang said. "It’s just pretty amazing."

After a TMP timeout, Jackson Schulte drove down the floor and was collapsed on by three Hoisington defenders in the lane. He kicked it out to a wide-open Lang, who hit nothing but net from the right corner as time expired.

"When it came off my hand it really didn’t look good," Lang said. "I thought it was long, but it went in. Probably the best moment I’ve ever had playing basketball."

The No. 3-seeded Monarchs (18-4) were to play top-seeded Beloit at 7:30 p.m. Saturday in Beloit. The Trojans (19-3) pulled out a 67-64 win over Norton to advance.

Lang credited Schulte for setting up the game-winner with his drive and pass.

"I was not expecting the pass," Lang said. "He gave it up, he was unselfish, and the shot happens."

TMP led by 12 at the end of the third quarter and was up six with under a minute left, but couldn’t put Hoisington away at the free-throw line, finishing just 12 for 22 at the stripe.

Mason Haxton cut TMP’s lead to 65-62 on a 3-pointer with 48 seconds left. TMP’s Bryce Seib made 1 of 2 free throws with 34 seconds left to make it a four-point game before the Cardinals cut it two with 24.2 seconds remaining on a bucket from Drew Nicholson.

Lang then missed the two free throws before Thompson nailed the go-ahead trey for Hoisington from the top of the key.

"(Lang) kept his head up," TMP coach Bill Meagher said. "Like I told them in the timeout, ’We’re going to find out your character.’ His character is moving on to the next play and hitting the shot you’re supposed to hit. Really proud of his effort tonight."

TMP senior forward Carson Jacobs continued his excellent stretch of play, scoring 24 points.

"He was hard to stop tonight," Meagher said. "He did a great job of doing what he needed to do. I also thought he was good defensively tonight, which is a big lift for us."

The Monarchs closed the second quarter on a 15-6 run and led 34-28 at halftime, thanks in part to four first-half treys from Ryan Stoecklein, who finished with 15 points.

TMP controlled the third quarter and had the Cardinals on the ropes before Hoisington delivered a 23-point fourth frame.

Haxton scored a game-high 27 points while Nicholson added 19 for the Cardinals, who finished with a 17-5 record.

"It was kind of a ticking time bomb," Meagher said. "(Haxton) is such a good player, (Nicholson) is such a good player; they’re all good shooters. We kind of always knew that they would close the gap and make it tight. We kept telling our guys, expect (a run), and then finish it.

"If we hit some free throws that would have changed it, but at the same time, when you guard as hard as they guarded, their legs are going to be tired, and I think that contributed to it."

In the other semifinal, Norton flirted with an upset of Beloit, but Vincent Palen’s three-point play broke a 64-all tie with 7.5 seconds left and Norton missed a desperation 3 at the buzzer.

Palen scored a game-high 23 points. Norton finished its season with a 12-9 mark.