Timmy Allen has dedicated every game he’s played to his mother since losing her to cancer in 2016.

He gave her something special Wednesday night — at a contest benefiting Coaches vs. Cancer, no less.

Allen hit a tiebreaking floater with 1:14 left to help Utah dodge a rousing comeback try by No. 6 Kentucky for a 69-66 upset. The Utes sophomore, who has a tattoo on his arm and messages written on his shoe memorializing his mother, Elise, said his mind went straight to her.

“I told her this game was for her today, and I'm glad I lived up to it,” said Allen, who had 25 points and nine rebounds.

The Wildcats (8-2) used a 27-10 run to tie it at 68 on Ashton Hagans’ dunk with 1:43 remaining, but Allen put the Utes (9-2) back ahead with his step-back, right-handed floater over Nick Richards.

"It was tough, but that's the stuff I work on," Allen said. "I'm not surprised I made it, but I had a 6-foot-11 guy right there, so getting it over him was tough, he's a big, physical presence. But that's the stuff I work on."

Kentucky, which had held its last four opponents to 58 or fewer points, got off three more shots, including two in the final 11 seconds, but none connected.

The Utes' last win against an AP Top 25 team was on Feb 27, 2016, against No. 9 Arizona at home, 70-64.

Both Gach contributed 14 points and six rebounds, Rylan Jones had 12 points and Riley Battin added 10 for the Utes.

Utah shot a blistering 62.5% (10 of 16) from the floor in the second half and was 23 of 42 (54.8%) for the game, including 53.3% (8 of 15) from 3-point range.

Coach Larry Krystkowiak said he challenged his Utes before the game to outmuscle the Wildcats, something Kentucky coach John Calipari said was the difference.

"They physically fought, they fought for position, they fought for defense, they fought for rebounds, they fought running down the floor they outran (us)," Calipari said. "That’s what I'm trying to get my team to do. That was a great win and they deserved it. I mean he outcoached me the way they did it, and they outplayed us. They deserved to win the game."

Tyrese Maxey led Kentucky with 18 points, and Hagans added 16.

Maxey had a chance to tie it but was called for an offensive foul when he drove the lane and barreled into Battin, giving the Utes the ball with 22.7 seconds left.

Jones hit 1 of 2 free throws to give Utah a three-point lead.

Maxey missed a 3-pointer, Kentucky scrambled for the rebound, and Immanuel Quickley clanked a 3 off the rim as time ran out.

"When we were under control, we were pretty darned good when we shared the ball," Krystkowiak said. "I thought there were some stretches when we lost our composure, turning it over and maybe forced some shots. For our guys to kind of stay in the fight, that was pretty cool.”

The Utes opened on a 10-4 run as Gach hit four of his first five shots. Utah made seven of its first nine from the floor to take an 18-9 lead midway through the first half.

Kentucky struggled to find a rhythm early, hitting just four of its first 14 attempts. The Wildcats were just 13 of 31 from the floor in the first half. They closed the half hitting 6 of 9 to cut Utah's lead to 35-31 at halftime.

BIG PICTURE

Kentucky: The Wildcats had made at least one 3-pointer in each first half of their nine games. They were 0 for 7 against Utah, contributing to their dismal shooting display over the first 20 minutes.

Utah: Gach came into the game hitting a career 30.3% from 3-point range and just 27% this season. He found his touch against the Wildcats, hitting 3 of 5, all in the first half.

POLL IMPLICATION

While Kentucky will likely slip from its spot in the poll, Utah could sneak into next week's AP Top 25 if it can knock off No. 20 San Diego State on Saturday.

UP NEXT

Kentucky: Plays No. 5 Ohio State in the CBS Sports Classic in Las Vegas

Utah: Plays No. 20 San Diego State in the Basketball Hall of Fame Classic in Los Angeles