Antone Exum set up the winning drive when he intercepted Michael Rocco at the Cavaliers' 36 with 3:21 remaining.
Exum brought it back to the 24, and Virginia (4-8, 2-6) inexplicably held on to two timeouts as the Hokies ran the clock down. The Cavaliers used both timeouts to try to freeze Journell, but his kick sailed through.
Logan Thomas ran for one touchdown and threw for another for the Hokies (6-6, 4-4 Atlantic Coast Conference), who have also won 13 of the last 14 in taking command of a once-close rivalry.
Virginia led 14-7 after its first defensive touchdown of the season on a 16-yard fumble return by Brent Urban early in the third quarter, but then came up short on a fake field goal try that could have given them a 17-7 advantage later in the period. It proved to be their last real scoring opportunity.
Thomas and the Hokies took over at their 15, and Thomas shook off a miserable day with a brilliant drive. He completed 4 of 5 passes, converted a third-and-5 with an 8-yard run, a fourth-and-1 with a 2-yard run, a third-and-4 with a 6-yard pass and then powered it in himself from the 4 for the tie.
He also drove Virginia Tech to the Virginia 24 in the fourth quarter, but Journell missed a 41-yard field goal try in swirling winds, handing the ball back to the Cavaliers. Three plays later, Exum made the interception that left intended receiver Tim Smith looking for a pass interference call that never came.
Instead, the Hokies finished off the victory that ensures they will extend their streak of seasons ending in a bowl game to 20, third-longest in the nation behind Florida State (31) and Florida (22).
For both teams, most of the biggest plays came on defense.
Thomas dropped back on third-and-10 from his 34 and was sacked by Jake Snyder for an 18-yard loss. Thomas also coughed up the ball, and Urban scooped it up and ran it 16 yards for the TD.
The Hokies scored first on Thomas' 7-yard pass to Randall Dunn on third-and-5. It capped a 55-yard drive that featured 13-yard completions by Thomas to Corey Fuller and Marcus Davis, and a 13-yard run by Thomas. He carried on three plays in a row before finding Dunn in the middle of the end zone.
The Cavaliers tied it late in the half after taking possession at midfield. Rocco hit Paul Freedman for 8 yards on first down, and hit Tim Smith with a simple sideline pass on second down. Smith broke an ankle tackle by Detrick Bonner right after the catch and took it 42 yards for the tying touchdown.
The first quarter featured six punts and a turnover by Virginia at its own 39. Antone Exum stripped and recovered the fumble by Perry Jones, but three plays netted minus-4 yards and led to a punt.