DURHAM, N.C. -- Brandon Connette threw three touchdowns passes and ran for two more to lead Duke to a 38-31 win over Troy on Saturday.
Connette had 324 yards passing and 55 rushing. It came a week after Connette threw for four scores and ran for two more in a 58-55 loss to Pitt.
Josh Snead also had 108 yards rushing for the Blue Devils (3-2), who snapped a two-game losing streak.
A holding penalty negated a 56-yard touchdown catch by Troy's Chandler Worthy with 9:37 remaining that would have given Trojans the lead.
Duke's defense struggled in recent weeks, yielding 344 yards rushing in its loss to Georgia Tech two weeks ago and 424 yards passing to Pittsburgh last week.