On a Saturday where the Alabama Crimson Tide–Georgia Bulldogs clash stole the show, here are five (well, slightly more than five) takeaways from an exciting Week 5 across college football.
1. The Kentucky Wildcats validate strength of their defense in road upset of the No. 6 Ole Miss Rebels
Kentucky’s offense in 2024 remains a work in progress (to say the least), but after Saturday’s road upset of No. 6 Ole Miss—Big Blue’s first win in Oxford, Miss., since 1978—there’s very little dispute about the Wildcats’ defense.
They’re elite.
Kentucky recorded four sacks, seven tackles for loss and held a potent Ole Miss offense to just 3.2 yards per rush on 29 attempts and a 1-for-10 mark on third down.
Advertisement
Sure, the Rebels still racked up the passing yards, primarily in the form of the Jaxson Dart–Tre Harris connection that led to 11 completions for 176 yards and a touchdown. But everything else for Ole Miss was made difficult by Kentucky’s consistent defensive pressure all game long.
The Wildcats showed their teeth defensively in a near home upset of then-No. 1 Georgia earlier this month, but validated their performance with another lights-out effort on Saturday.
Kentucky is now 3–2 and 1–2 in SEC play. It is not a conference title contender, but could certainly play spoiler to SEC hopefuls in the No. 6 Tennessee Volunteers and No. 1 Texas Longhorns that are still to come on the schedule this fall.
2. Controversial Friday night ending to the No. 7 Miami Hurricanes’ victory over the Virginia Tech Hokies underscores growing officiating problem in college football
No. 7 Miami was caught in a dogfight with preseason ACC darling Virginia Tech—a Hokies bunch that fell out of favor after dropping their opener on the road to the Vanderbilt Commodores and following it up three weeks later with a home loss to the Rutgers Scarlet Knights.
Virginia Tech head coach Brent Pry had a couple of game management decisions that he’d certainly like to have back. These decisions included a prematurely called timeout prior to a 57-yard field goal before halftime that allowed enough time for Miami to drive down the field with 25 seconds left and kick a field goal. The Hokies also tried a fake field in the third quarter off a Cam Ward interception that would have given them a 13-point lead.
Advertisement
But ultimately, it all came down to a final drive offensively for the Hokies. Trailing 38–34 with three seconds remaining, Virginia Tech quarterback Kyron Drones lofted a pass into the back left corner of the end zone. The ball was juggled by a host of players, before it appeared that Virginia Tech wide receiver Da’Quan Felton came up with the football. What was unclear was whether or not he gained sole possession before a Miami defender ripped it free in the scramble for the ball.
The officials concluded it was a Virginia Tech touchdown, which should have scored the Hokies one of their biggest road upsets in years. However, after a replay review that lasted for over five minutes, the conference’s officiating command center determined Felton never gained possession.
There didn’t appear to be conclusive evidence to prove the call on the field should have been overturned, but it was anyway, scoring Miami a narrow victory.
Virginia Tech made plenty of mistakes that cost it a victory, but the game-ending kick in the teeth from the ACC officials underscored the growing sentiment across college football that the sport has an officiating problem.
3. The Auburn Tigers snatched defeat from the jaws of victory, and once again, a turnover was the culprit
One week removed from turning the ball over five times in a 24–14 home loss to the Arkansas Razorbacks, Auburn again had turnover problems at the worst time in a 27–21 home loss to the No. 21 Oklahoma Sooners.
Advertisement
With the Tigers leading 21–16 with just over four minutes to play, Auburn starting quarterback Payton Thorne felt pressure from his right side and threw an inexplicable pass over the middle right into the arms of Oklahoma linebacker Kip Lewis. The redshirt sophomore took the interception back 61 yards for the touchdown in the deciding score of the contest.
Auburn’s Hugh Freeze needs to right the ship, and fast, or things could go sideways quickly heading into Year 3 if the Tigers continue to let victories slip away by self-inflicted mistakes.
4. The Colorado Buffaloes win again as Travis Hunter continues to make his Heisman Trophy case
Colorado’s dominant 48–21 road win on Saturday at the UCF Knights marked not only the biggest win of the Deion Sanders era in Boulder, Colo., but also another step toward legitimizing Travis Hunter’s Heisman case.
Hunter is arguably the best player in college football. He’s more than worthy of winning the Heisman. But in order to capture the sport’s most iconic individual award, team success is almost always a prerequisite. Hunter is one of the only players in college football who plays both offense and defense, and nobody plays both wide receiver and defensive back to the level he does.
Hunter caught nine passes for 89 yards and a touchdown and added an interception on defense against UCF.
Advertisement
Colorado is 4–1 and 2–0 in Big 12 play. The Buffs are off next week before hosting a ranked Kansas State Wildcats team. Colorado has improved after a rocky Year 1 under Sanders, but will need to continue to stack wins for Hunter to have a real shot of capturing the Heisman.
5. No Matthew Sluka? No problem for the Group of 5 CFP hopeful UNLV Rebels
It was quite the week for UNLV’s football program.
First came a late Tuesday social media post from starting quarterback Matthew Sluka, who announced his decision to sit out the rest of the season, redshirt and transfer amid alleged “representations” (NIL payments) that were not met.
Next came a PR messaging war that pitted UNLV and its NIL collective against Sluka’s camp. In the end, there was no executed written contract binding UNILV (yes, that’s the name of the collective) to any sort of payment obligation to Sluka.
On the field, UNLV needed to continue the momentum built by the program’s first 3–0 record in 40 years with the Fresno State Bulldogs in town to kick off Mountain West play.
Advertisement
The result? A 59–14 drubbing by the Rebels in which newly minted starter Hajj-Malik Williams accounted for 182 passing yards, 119 rushing yards and four total touchdowns.
After a week marked by tumult, the Rebels have come out on the other side with their most lopsided victory of the season and perhaps their first AP Top 25 ranking in program history come Sunday.
Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center
Advertisement
Advertisement
Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center
Updated: 9:28 PM EDT Apr 4, 2026
Editorial Standards ⓘ
Advertisement
The Kentucky Derby Festival Block Party returned to the Norton Healthcare Sports & Learning Center Saturday.Guests were able to stop by and enjoy an afternoon filled with of food, live entertainment, and family-friendly activities.The party also featured over 50 minority-owned businesses from MELANnaire Marketplace that were showing off the items they had for sale.”Well, here you get local makers, who are making all types of fascinators. They make clothing, artwork. We got a food drive, I mean everything. It’s all kinds of amazing products, and we’re so happy to be able to showcase them,” said Nachane Trapue, the founder of MELANnaire Marketplace.Norton Healthcare was also on site providing wellness tips, and the Heuser Hearing Institute offered free hearing screenings.
LOUISVILLE, Ky. —
The Kentucky Derby Festival Block Party returned to the Norton Healthcare Sports & Learning Center Saturday.
Guests were able to stop by and enjoy an afternoon filled with of food, live entertainment, and family-friendly activities.
Advertisement
The party also featured over 50 minority-owned businesses from MELANnaire Marketplace that were showing off the items they had for sale.
“Well, here you get local makers, who are making all types of fascinators. They make clothing, artwork. We got a food drive, I mean everything. It’s all kinds of amazing products, and we’re so happy to be able to showcase them,” said Nachane Trapue, the founder of MELANnaire Marketplace.
Norton Healthcare was also on site providing wellness tips, and the Heuser Hearing Institute offered free hearing screenings.
Advertisement
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
Advertisement
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wlky.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wlky.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
Advertisement
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
Advertisement
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
Advertisement
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
Advertisement
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
Advertisement
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wlky.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wlky.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
Advertisement
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
Advertisement
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
A Northern Kentucky community is coming together to help one man rebuild his home.On Saturday, a fire tore through a house at the end of Brittany Lane, leaving behind heavy damage and years of work nearly destroyed.But for Richard Reinhart, the loss goes far beyond the structure itself.“This was his big project,” neighbor Danielle Armstrong said. “He bought the land and then just built the house and built the house for years and years and years.”Armstrong was the one who called 911 after noticing smoke pouring from the home. She said flames quickly spread, leaving the house badly damaged.Reinhart and his wife were able to make it out safely.Still, the home holds deep meaning. Armstrong said Reinhart spent decades building it by hand, carefully crafting a space meant to bring generations of family together. Just months before the fire, Reinhart was diagnosed with glioblastoma, an aggressive form of brain cancer with no known cure.“He doesn’t have long to live,” Armstrong said.Now, what was once a long-term dream has become something far more urgent.Reinhart’s goal is no longer just to build the home, but to return to it.“My goal with the GoFundMe is to raise funds so that we can rebuild this house together for Richard, so that he can leave it to his family,” Armstrong said. “This is his final place that he wants to be.”Armstrong said her motivation is simple.“I don’t have a lot in life, and Richard’s always been there for me through a lot,” she said. “So you do that for friends that really care about you.”The two have known each other for decades — even living as neighbors twice over the years — a connection Armstrong says makes this effort even more meaningful.Now, she’s leading the charge to help rebuild the home, starting a GoFundMe and helping organize local fundraisers. Longnecks Sports Grill in Hebron will host a Dine and Dinner event at all its locations April 11 from 5 to 9 p.m. For Armstrong, the goal is clear: to help Reinhart return to the home he built — and the place he hopes to spend his final days.“This was his dream,” she said. “And I want his dream to come true.”
FLORENCE, Ky. —
A Northern Kentucky community is coming together to help one man rebuild his home.
On Saturday, a fire tore through a house at the end of Brittany Lane, leaving behind heavy damage and years of work nearly destroyed.
Advertisement
But for Richard Reinhart, the loss goes far beyond the structure itself.
“This was his big project,” neighbor Danielle Armstrong said. “He bought the land and then just built the house and built the house for years and years and years.”
Armstrong was the one who called 911 after noticing smoke pouring from the home. She said flames quickly spread, leaving the house badly damaged.
Advertisement
Reinhart and his wife were able to make it out safely.
Still, the home holds deep meaning. Armstrong said Reinhart spent decades building it by hand, carefully crafting a space meant to bring generations of family together.
Just months before the fire, Reinhart was diagnosed with glioblastoma, an aggressive form of brain cancer with no known cure.
“He doesn’t have long to live,” Armstrong said.
Now, what was once a long-term dream has become something far more urgent.
Advertisement
Reinhart’s goal is no longer just to build the home, but to return to it.
“My goal with the GoFundMe is to raise funds so that we can rebuild this house together for Richard, so that he can leave it to his family,” Armstrong said. “This is his final place that he wants to be.”
Armstrong said her motivation is simple.
“I don’t have a lot in life, and Richard’s always been there for me through a lot,” she said. “So you do that for friends that really care about you.”
The two have known each other for decades — even living as neighbors twice over the years — a connection Armstrong says makes this effort even more meaningful.
Advertisement
Now, she’s leading the charge to help rebuild the home, starting a GoFundMe and helping organize local fundraisers.
Longnecks Sports Grill in Hebron will host a Dine and Dinner event at all its locations April 11 from 5 to 9 p.m.
For Armstrong, the goal is clear: to help Reinhart return to the home he built — and the place he hopes to spend his final days.
“This was his dream,” she said. “And I want his dream to come true.”
The transfer portal doesn’t officially open until Tuesday, April 7, but players are already announcing their plans — over 500 so far, in fact. On Kentucky’s end, Jaland Lowe was the first, announcing on March 28 that he would head elsewhere. Since then, it’s been crickets, but Jasper Johnson and Brandon Garrison quickly changed that, with news breaking of their plans to transfer happening within an hour of each other on Friday.
More announcements could be on the way before Tuesday. We’re still waiting on decisions from seven Wildcats, eight if you include Jayden Quaintance, who is expected to enter the NBA Draft, but has yet to officially declare. Redshirt big man Reece Potter has publicly stated that he will run it back in Lexington. Mark Pope got his first 2026 commit this week in four-star point guard Mason Williams, the son of former NBA All-Star Mo Williams, who will also come to Kentucky as an assistant coach.
It could be a newsy weekend. KSR will be tracking all of Kentucky’s offseason roster movements. Consider this your one-stop shop for all roster additions and departures.
GRADUATED (2)
Advertisement
PORTAL DEPARTURES (3)
REMAINING ELIGIBILITY – STATUS UNKNOWN (8)
EXPECTED RETURNERS (1)
HS SIGNEES (1)
PORTAL ADDITIONS: N/A
Advertisement
IMPORTANT DATES
April 7: Transfer Portal Opens
April 21: Transfer Portal Closes
60 days before NBA Draft: NBA Early Entry Deadline
May 8-10: NBA G League Combine (Chicago)
May 10: NBA Draft Lottery
May 10-17: NBA Draft Combine (Chicago)
May 27: NCAA Division I Early Entry Withdrawal Deadline
10 days before NBA Draft: NBA Early Entry Withdrawal Deadline
Late June: 2026 NBA Draft (Date not announced)
Take advantage of our KSR+ SPRING SALE to get bonus coverage of the Cats, including the latest intel on Kentucky’s efforts in the Transfer Portal, Spring Football, and the search for a new Athletic Director — plus a year of access to The Athletic. Annual subscriptions are 50% off for a limited time.
UPDATES
April 3:Brandon Garrison joins Johnson in the portal
After two seasons with the Wildcats as the team’s backup center, Garrison will look for a starting job going into his final college season.
April 3: Jasper Johnson will enter the Transfer Portal
Mark Pope‘s highest-ranked recruit of all time will look for a fresh start elsewhere after an up-and-down freshman season.
The other finalists in his high school recruitment were Alabama and North Carolina.
March 30: Mo Williams to join staff as assistant
Expected to join his son, Mason, in Lexington, filling one of the vacant assistant coaching positions
Head coach at Jackson State (2022-26) and Alabama State (2020-22), Assistant coach at Cal State Northridge (2018-20)
Played 13 seasons in the NBA for 7 different franchises; NBA All-Star (2009), NBA Champion (Cleveland Cavaliers, 2016)
March 28: Jaland Lowe will enter the Transfer Portal
Leaving UK after one season, which was cut short by a shoulder injury.
March 27: Associate head coach Alvin Brooks will not return next season
March 27: 4-star Mason Williams commits to Kentucky
Son of former NBA All-Star/current Jackson State head coach Mo Williams
6-foot-2 point guard ranked No. 124 overall in the 2026 recruiting class by Rivals
Held offers from Ole Miss, Jackson State, Memphis, Louisiana, New Mexico State, Stephen F. Austin, Washington, and Texas Tech
Averaged 15.1 points, 5.3 assists, 4.5 rebounds, and 3.5 steals per outing in 2025-26 while shooting 41.2 percent from deep (8-game sample size)
March 26: Keegan Brown announced as Director of Roster Management
Worked with Mark Pope for five seasons at BYU
Most recently worked as head video coordinator of the Wisconsin Herd, the Milwaukee Bucks’ G League affiliate.
March 24: Jason Hart leaves for SMU
Left Kentucky after two seasons to become the associate head coach under Andy Enfield