Days scored on a 4-yard run in the third quarter and caught a 17-yard touchdown pass in the fourth quarter.
Days has topped 100 yards rushing in each of his two starts while running back Zach Laskey recovers from a shoulder injury. Days set a career high with 110 yards rushing in last week's 56-28 win at Pittsburgh and then topped that total on 24 carries against the Cavaliers.
Georgia Tech (7-2, 4-2) couldn't gain ground on ACC Coastal Division leader Duke, which beat Pittsburgh 51-48 in double-overtime on Saturday. Duke beat Georgia Tech earlier this season.
Virginia (4-5, 2-3), held to a season-low 22 yards rushing, has lost three straight.
Virginia's Greyson Lambert completed 19 of 32 passes for 230 yards with one touchdown and two interceptions. Lambert was hurt by a few dropped passes, including an attempt through the hands of Keeon Johnson in the end zone, forcing the Cavaliers to settle for a field goal late in the first half.
Lambert threw a 13-yard scoring pass to Zachary Swanson late in the first quarter.
Matt Johns replaced Lambert in the fourth quarter and completed 4 of 9 passes for 32 yards.
The official temperature at kickoff was 49 degrees with the wind at 24 miles per hour. The temperatures dropped into the low 40s in the second half.
The wind was a factor throughout the game, including the way it affected punts and kickoffs. A 27-yard punt by Virginia's Alec Vozenilek allowed Georgia Tech to start its first possession at the Cavaliers' 42. Deon Hill's 14-yard run capped the short touchdown drive, giving the Yellow Jackets the lead they never gave up.
Days went over the 100-yard mark on his 33-yard run on the Yellow Jackets' first drive of the second half. Days' 4-yard touchdown run pushed the lead to 28-10.
Virginia's next possession ended with Lambert's fourth-down pass from the Georgia Tech 10 was intercepted by Jamal Golden in the end zone.
Khalek Shepherd led Virginia with 15 yards rushing. Kevin Parks, who ranked third in the ACC with his average of 105.2 yards rushing per game, was held to 13 yards on five carries. The Cavaliers' previous season low for yards rushing was 114 against Louisville on Sept. 13.
Georgia Tech defensive end Patrick Gamble, who made his first start, was carted off the field with an apparent left knee injury with 6:10 remaining.