MIAMI -- The Miami Hurricanes knocked off their highest-ranked opponent in three years, and they are clearly thrilled.
Sophomore Tyriq McCord's fourth-quarter strip-sack and recovery helped Miami upset 12th-ranked Florida, 21-16, on Saturday at Sun Life Stadium.
Miami's last victory over such a highly-ranked team came in 2010 when it beat eighth-ranked Oklahoma.
"We've been through so much," Hurricanes coach Al Golden said, referring to the still ongoing NCAA investigation of his program. "It was almost cathartic.
"That was 26 months (of frustration) unleashed there in the last four of five seconds of the game."
Florida (1-1) was in the red zone six times Saturday but came away with only nine points on those possessions.
The Gators turned the ball over five times, including two interceptions and one fumble in the red zone. They also turned the ball over once on downs.
Miami (2-0) had only one turnover.
Hurricanes running back Duke Johnson was held to 75 yards on 21 carries, and quarterback Stephen Morris was only 12-of-25 for 162 yards, but Miami's defense made the difference.
"I can't even give them all the praise they deserve," reserve running back Dallas Crawford said of his team's defense. "We told them at halftime to hold on, and they did."
With Miami leading, 14-9, but scoreless since the first quarter, McCord got to quarterback Jeff Driskel and knocked the ball loose before falling on the fumble at the Florida four-yard-line.
A pass interference penalty on Dante Fowler gave Miami a first down on the two. On the next play, Johnson ran around left end for a touchdown to put Miami up, 21-9, with 3:29 left in the game.
Florida came back with a four-play, 60-yard touchdown drive to make it 21-16 with 2:08 left. The touchdown came on a 21-yard pass from Driskel to Solomon Patton.
But Miami's A.J. Highsmith recovered an onside kick, and Florida did not get the ball back until 28 seconds were left at its own 20. Driskel was sacked on first down and the Gators were illegally in motion on second, causing a 10-second runoff that ended the game.
On its first possession of the second half, Florida got a 33-yard field goal by Austin Hart, pulling to within 14-9.
The teams traded interceptions in the fourth quarter.
Stephen Morris overthrew Phillip Dorsett and the pass was picked by Florida freshman Vernon Hargreaves.
Florida reached the Miami 17, but, on third down and three, Driskel's pass was picked off by Tracy Howard. It was Howard's first career interception.
The Gators dominated the first half in terms of total yards, 245-145, and in time of possession, 21:30-8:24, but went to the locker room trailing, 14-6.
Miami scored on its first drive of the game, a nine-play, 50-yard march that started right after linebacker Denzel Perryman's hard hit forced Matt Jones to fumble and Curtis Porter recovered for the Hurricanes.
The scoring play was a seven-yard pass from Morris to Herb Waters, who caught the ball as he streaked to the left corner of the end zone and got a foot down before going out of bounds.
A key play on the drive was a roughing-the-passer penalty against defensive tackle Dominique Easley. If not for the penalty, Miami would have faced a third and 10 from the Florida 15.
Florida pulled to within 7-6 later in the first quarter on a nine-yard sweep around right end by Driskel. The Gators tried a two-point conversion, but the pass play to Trey Burton was stopped short.
The touchdown was set up by Loucheiz Purifoy, who blocked Pat O'Donnell's punt, giving Florida possession at the Miami nine-yard-line.
Miami added to its lead on the next possession, when Morris lofted a perfect deep pass to Dorsett, who had gotten past Marcus Maye for a 52-yard touchdown.
Morris stood in the pocket despite a big hit from nose tackle Damien Jacobs, and the Hurricanes led, 14-6.
Florida coach Will Muschamp said his Gators gave Miami too much momentum early.
"I'm very disappointed in our first two series (on defense)," Muschamp said. "We were out of sorts with our substitution and communication."
On its next drive, Florida had first and goal at the Miami seven, but safety Rayshawn Jenkins intercepted Driskel's pass on third down to end the threat.
Jenkins, who had limped off the field three plays earlier, sat in the middle of the zone before accepting what was a poor decision by Driskel.
The Gators' quarterback also overthrew an open Quinton Dunbar in the end zone on second down.
Florida got to the Miami 16 on its next drive before a hesitant Driskel was stopped for no gain on a quarterback sneak on four and one.
The Gators ended a frustrating first half with a 13-play, 66-yard drive that was halted on a fumble by Trey Burton. Jimmy Gaines got the strip, and fellow linebacker Thurston Armbrister made the recovery at Miami's 13.
"You can't turn the ball over five times go 1-for-6 in the red zone scoring touchdowns," Muschamp said, summing up the defeat. "We gave them way too much belief."
NOTES: Jeff Driskel completed 22-of-33 passes for a career-high 291 yards and one touchdown, but he was picked off twice. ... Solomon Patton had a career-high 118 yards in receptions. He is the first Gator to get 100 receiving yards since Andre DeBose in 2011. ... The announced attendance was 76,869, a Miami record at Sun Life Stadium. ... The Hurricanes lead the 75-year series, 29-26, but for now, at least, this was the last scheduled regular-season game between the in-state rivals. ... Miami CB Ladarius Gunter limped off the field in the first quarter after a block by Florida TE Clay Burton, who was penalized 15 yards for a late hit. Gunter later returned in the game. ... Stephen Morris has 5,190 career passing yards and moved past Brock Berlin for 11th on Miami's all-time list.