DURHAM, N.C. (AP) -- Bryce Perkins passed for 189 yards and a touchdown to help Virginia beat Duke 28-14 on Saturday afternoon.
Perkins also rushed for 61 yards and two scores for the Cavaliers (5-2, 3-1 Atlantic Coast Conference), who won for the fourth time in five games.
Virginia backed up its 16-13 win over Miami last week with its fourth consecutive victory over Duke.
Daniel Jones passed for 240 yards and a touchdown for the Blue Devils (5-2, 1-2).
Duke cut Virginia's lead to 20-14 early in the fourth quarter when tight end Davis Koppenhaver caught a 22-yard touchdown pass from wide receiver T.J. Rahming on a trick play.
But Perkins found Evan Butts for a 16-yard touchdown with 3:58 remaining to put the Cavaliers back in control.
Chris Taylor had six receptions for 97 yards and a touchdown for the Blue Devils, whose only two losses have come at home against teams from the state of Virginia. Duke lost to Virginia Tech 31-14 on Sept. 29.
The Cavaliers led 14-0 at halftime, but their cushion should have been larger. They failed to score on drives that reached the Duke 29-, 16- and 34-yard lines.
Virginia turned over the ball on downs once, and kicker Brian Delaney missed field-goal tries of 33 and 51 yards.
Jones threw a season-high two interceptions, continuing his career-long struggles against Virginia's defense.
In three games and 136 pass attempts against the Cavaliers, he has thrown nine interceptions (one every 15.1 attempts). In 27 games and 888 pass attempts against all other opponents, he has thrown 15 interceptions (one every 59.2 attempts).
Virginia: The Cavaliers were rock solid, committing no turnovers and making few mistakes overall. They remained unbeaten in Coastal Division play and have an opportunity to build momentum heading into the season's final stretch. Virginia's next three games are at home against North Carolina, Pittsburgh and Liberty.
Duke: The Blue Devils weren't themselves from the start, and they couldn't quite catch up. Playing in a steady rain that helped keep the home crowd sparse, they stumbled through a first half filled with dropped passes and uncharacteristic penalties. Duke had five penalties for 52 yards before halftime, nearly double their ACC-leading averages for an entire game.
Virginia: The Cavaliers host North Carolina on Oct. 27.
Duke: The Blue Devils play at Pittsburgh on Oct. 27.