The Blue Devils (3-3) jumped out to a 13-0 lead early in the second quarter, and their defense forced three turnovers and stifled Army's rushing attack to hold on for the victory.
Andy Davidson rushed for 120 yards, including a 45-yard touchdown run late in the first half, for the Black Knights (3-2).
Both teams struggled on offense as Hurricane Matthew made its way through North Carolina. The storm produced stiff wind and driving rain for hours leading up to the game and throughout the contest, making every punt, pass and kick difficult.
Army entered the game averaging an FBS-leading 374 rushing yards per game but ran for only 165 yards on 43 attempts against Duke.
Boehme threw a 3-yard touchdown pass to tight end Erich Schneider after Davidson lost a fumble at the Army 9 on the Black Knights' second possession. Jones tossed a 22-yard touchdown pass to Aaron Young for Duke's other score.
Army: The Black Knights outplayed Duke after falling behind 13-0, but they could not sustain drives. The Black Knights converted two of 13 third-down plays and failed all four times on fourth down, including three times on fourth-and-1 runs.
Duke: The Blue Devils gutted out a victory, but they still need three more wins to qualify for a fifth consecutive bowl game. That will be a difficult task against Duke's six remaining opponents, each of which is bigger, faster and more talented than Army.
Army: After playing four of their first five games on the road, the Black Knights return home against Louisiana-Lafayette for their first home game since Sept. 10.
Duke: The Blue Devils visit No. 7 Louisville on Friday night to kick off the second half of their season. Four of the remaining six opponents on Duke's schedule entered the weekend ranked.