CHARLOTTESVILLE, Va. -- Michael Rocco threw a 10-yard touchdown pass to Jake McGee with 6 seconds remaining Saturday and Virginia rallied from a 10-point deficit to stun Miami 41-40. Rocco threw four touchdown passes and Virginia (4-6, 2-4 Atlantic Coast Conference) won its second in a row after a six-game losing streak. It was the Cavaliers third straight win against the Hurricanes. The victory kept the Cavaliers' slim bowl hopes alive. Virginia still has to beat North Carolina and Virginia Tech to become bowl eligible. Miami (5-5, 4-3) lost despite three touchdown passes from Stephen Morris and a brilliant performance by Duke Johnson. The freshman ran for 150 yards, returned a kickoff for a touchdown and threw a TD pass. The victory also cost the Hurricanes control of their Coast Division title race. But in the end, it was Miami's defense that let the Hurricanes down. Rocco led a 16-play, 87-yard drive, keeping it alive with a 9-yard completion to Dominique Terrell on fourth-and-7 from his own 44. Penalties also hurt Miami. There was a late flag for holding against cornerback Thomas Finnie on another fourth down pass that Terrell did not come up with at Miami's 20. Four plays later, Rocco found the 6-foot-5 McGee in the back of the end zone for the game-winner. He finished 29 of 37 for 300 yards and also threw touchdown passes of 7 yards to Miles Gooch, and 6 and 5 yards to Darius Jennings. The second TD to Jennings pulled Virginia within 38-35 with 5:33 left in the game. Morris threw for 179 yards with three touchdowns: a 12-yarder to Allen Hurns, 9 yards to Clive Walford and 35-yard strike to Phillip Dorsett, which gave the Hurricanes a 38-28 lead early in the fourth quarter. Then Virginia coach Mike London ditched the quarterback rotation he had been using all day, put the ball back in Rocco's hands and the junior's pinpoint passing led two touchdown drives. Rocco even appeared to get a break that went Virginia's way. He was called for intentional grounding from the end zone under heavy pressure, giving Miami a safety and the ball with just over 4 minutes to play. Replays showed that Rocco was not in the end zone when he threw the ball away, but a review did not overturn the call. Virginia had to kick the ball to Miami, but its defense held, setting up the finish. Miami's Johnson would have stolen the show in the first half if the Hurricanes have stopped Virginia. Still, the freshman was impressive. Johnson ripped off a 52-yard run on the Hurricanes' opening possession, dodging at least three defenders along the way. Two plays later, he threw a perfect 8-yard halfback option pass to Hurns for the touchdown. Virginia took a 7-0 lead on Rocco's 7-yard pass to Miles Gooch, and after Johnson's scoring pass, Rocco drove the Cavaliers downfield again, and Jennings took a swing pass 6 yards for the TD. Johnson followed with his big return to tie the score at 14, and Sims came on at quarterback as part of London's rotation. He led the team on a 52-yard march, capped by his 6-yard run to make it 21-14. Morris hooked up with Hurns from 12 yards to tie the game at 21 on the first play of the second quarter, and the Hurricanes got a break when Virginia tailback Perry Jones unwisely threw a halfback option pass into double coverage and Brandon McGee intercepted and returned it to the Miami 48. It was the first drive of the game that didn't end in a touchdown, and when the Cavaliers stopped Miami's progress at the 13, Jake Wieclaw kicked a 30-yard field goal for Miami's first lead. After the wild first half, Walford's touchdown catch was the only scoring of the third quarter, and Virginia cornerback Maurice Canady kept the Cavaliers in the game when he stripped Morris of the ball as he headed for the end zone on a 22-yard run, and also recovered for Miami's only turnover of the day. Morris atoned with his touchdown to Dorsett on the next series, but then Rocco took over. The Cavaliers' only first-half drive that didn't end in a touchdown was ended by a halfback option pass that Perry Jones threw into double coverage and Brandon McGee intercepted and returned 26 yards.