LEXINGTON, Ky. (AP) -- With one perfectly thrown pass, Andre Woodson erased years of agony against Brian Brohm and turned Kentucky's border battle with Louisville into a real rivalry again.
Woodson threw a 57-yard touchdown pass to Steve Johnson with 28 seconds left, and Kentucky shocked the No. 9 Cardinals 40-34 Saturday night.
It was the Wildcats' first victory over a top-10 team in three decades -- since they beat Penn State in 1977 -- and halted Kentucky's four-year losing streak to Louisville (2-1). It also ended Woodson's even longer skid against Brohm, a nemesis since high school.
"Finally the right team won," Kentucky coach Rich Brooks said. "It had more twists and turns than a Dickens novel."
Kentucky (3-0) was about to lose its fifth in a row to its in-state rival after being pushed back because of a personal foul penalty. Then Johnson zipped past the Cardinals' secondary and Woodson nailed him in stride.
"The only thing going through my head is, 'Stevie, please catch the ball," Woodson said. "Once he caught it, I knew."
Woodson completed 30 of 44 passes for 275 yards and four TDs as he beat Brohm, a rival dating to high school, for the first time. The two are among the nation's top quarterback prospects, so if they meet again, it could be in the NFL.
"What a great throw," Kentucky tight end Jacob Tamme said. "It had to be done, and he did it."
Johnson called Woodson a "big-time player."
Brohm showed he was big-time, too. He was 28-for-43 for 366 yards and two TDs and he led a late drive that put the Cardinals in position to win.
But his last-second desperation attempt was deflected and caught by Harry Douglas at the 10, but the receiver couldn't get into the end zone and time expired.
Douglas had a career-high 13 catches for 223 yards, his sixth straight game topping 100 yards.
Kentucky was ahead 33-28 with 6 minutes left when Brohm began an 84-yard drive that ended in Anthony Allen's 2-yard plunge. It was the second touchdown for Allen, who had 96 yards rushing.
"We did give them quite a bit of time to go down and score," Brohm said. "They made a play and did a great job. We gave them too many opportunities."
Woodson went another game without throwing an interception, extending his streak of passes without one to 257. That broke the Southeastern Conference record set by Georgia's David Greene in 2004 and is 14 short of Trent Dilfer's NCAA mark.
Louisville's offensive line was one of only three in the country that didn't allow a sack through the first two games, but Kentucky got to Brohm three times.
Kentucky would have had a fourth sack, halting Brohm deep in his own territory, but a 15-yard personal foul penalty on Wildcats cornerback Trevard Lindley negated that and gave Brohm another chance. He took advantage, firing a 42-yarder to Douglas, who later scored from 3 yards out.
Brohm led the Cardinals down the field on their next possession, setting up a 10-yard run by Allen that put them in front for the first time, 21-19.
Woodson answered during the first drive of the second half, leading the Wildcats 78 yards. John Conner scored on a 7-yard slant.
Kentucky barely had a chance to celebrate regaining the lead. Louisville's Trent Guy took the kickoff 100 yards to put the Cardinals back on top.
Guy's third career TD return -- first on a kickoff -- was a makeup play for his mistake in the opening seconds that gave the Wildcats early momentum. He fumbled the opening kick, setting up a Kentucky field goal.
That and an interception by Lindley helped give Kentucky an early 13-0 lead.
"At no point in time was there panic on the sideline," Louisville coach Steve Kragthorpe said.
Brooks said the victory was relief and he would be shocked if the Wildcats don't enter the Top 25 next week.
"We've had our heads slammed too many times in a row," he said. "I think now the rivalry is back."
Utah State's Peasley throws for 3 TDs, runs for another
— Andrew Peasley passed for 239 yards and three touchdowns, and rushed for 118 yards and another score, and Utah State used four third-quarter touchdowns to beat New Mexico 41-27 on Thursday night in a battle of winless teams.
Football game between No. 18 USC and Colorado canceled due to COVID-19 protocols
USC's game against Colorado scheduled for Saturday has been canceled because the Trojans did not have enough scholarship players available following positive COVID-19 tests and contact tracing.
USC football cancels practice again as symptomatic player undergoes testing
The Trojans canceled practice again Thursday as a precautionary measure after a player experienced symptoms related to a possible COVID-19 infection.
Huskers hoping to push back this time against physical Iowa
Nebraska knows what's coming whenever it plays Iowa. The hard part is stopping it.
How would a loss vs. Auburn affect Alabama's CFP chances?
Heather Dinich doesn't believe a Nick Saban-less Alabama loss will affect the team's playoff chances, while Paul Finebaum shares how the Alabama fan base is feeling.
No. 15 Iowa St would get title shot with win at No. 20 Texas
An Iowa State program that has alternately been an underdog and overachiever in its modest football history is on the cusp of going somewhere it's never gone before.