Jacory Harris completed 21 of 30 passes for 311 yards and three touchdowns for Miami (4-4, 2-3), which saw its two-game losing streak snapped and saw its chances in the Coastal Division take a huge hit. Tommy Streeter caught seven of Harris' passes for a career-best 176 yards and two touchdowns for the Hurricanes.
Kevin Parks ran for a game-high 85 yards for Virginia, which hadn't won on the road in ACC play since beating Maryland on Oct. 17, 2009.
Miami took over with 7:12 left, needing a touchdown to tie, and went 37 yards in nine plays. Reynolds got past the Miami line and wrapped up James on the game's biggest play, and the Hurricanes didn't get the ball back until 25 seconds remained after a Virginia punt.
And for Miami, it was a little bit of deja vu. In all four losses this season, the Hurricanes had chances in the fourth quarter — all those defeats coming in one-possession games, where one failed play made the difference.
Still, the Hurricanes nearly tied it with 9 seconds left, Harris looking for Streeter in the end zone, a 45-yard pass that was barely tipped away - and had Harris going to the sideline in pain after the play. Stephen Morris came into the game and got Miami to the 32 with 4 seconds left, then scrambled and found Eduardo Clements inside the Virginia 10 as time expired.
''Faith, family and football,'' Virginia coach Mike London said. ''Those are the things. . . . It's a great win. Road victory against a really good team.''
Virginia's first score came on a play that seemed harmless at first — a quick throw from Rocco to Darius Jennings, who caught the ball in the flat about four yards behind the line of scrimmage.
He made the rest look easy.
With plenty of downfield blockers, Jennings took off on what became a 53-yard touchdown play, the first in the big-play barrage by the Cavaliers, who went deep into their bag of tricks while running out to a 17-0 lead in the second quarter.
A fake field goal — holder Jacob Hodges fielded the snap, then got up and ran 20 yards — set up a 22-yard kick by Robert Randolph later in the drive that put the Cavaliers up 10-0. And with 4:15 left until halftime, Jones' first career throw became one he'll likely never forget.
Miami handled Georgia Tech's countless tries at misdirection almost perfectly last weekend. When Rocco tried it, the Hurricanes made a costly mistake. Rocco faked a handoff before pitching to Jones, who rolled to his right and passed to Tim Smith for a 37-yard score and a 17-point lead for the Cavaliers.
Virginia's second touchdown drive was set up by a bit of Miami misfortune. Harris had the ball slip out of his hand at the Virginia 15, the fumble being recovered by the Cavaliers' Jake Snyder.
Harris atoned on the next Miami possession.
A 20-yard pass to Streeter on third-and-11, followed quickly by a 39-yard throw to Travis Benjamin got Miami down to the Virginia 3. He and Streeter — old high school teammates from Miami Northwestern — did the rest, Streeter stretching high to haul in a fade for a touchdown that got the Hurricanes on the scoreboard with 35 seconds left until halftime.
''Just relax,'' Miami coach Al Golden said at halftime. ''It's a long game.''
Down 20-7 with less than a minute left in the third quarter, it looked like long odds for Miami as well. That's when Streeter went over two Virginia defenders for a 51-yard touchdown catch, getting the Hurricanes within 20-14.
Right on cue, Virginia came back with yet another big play — Jones slipping out wide, then darting back into the middle and catching a short pass that turned into a 78-yard touchdown from Rocco that put the Cavaliers up by 14 with 14:08 left.