The Dragons (10-14, 6-6 CAA) had lost two in a row, and were winners for just the third time in 10 home games this season.
Charles Cooke led all scorers with a career-high 16 points for the Dukes (14-12, 8-5), who had won five of their previous six games.
Rayshawn Goins scored 11 points and Devon Moore added 10 for James Madison, which led 9-4 but then failed to score for nearly 10 minutes. Drexel scored 12 points in that period of 9:50, and after a 3-pointer by Andre Nation with 3:40 left, the Dukes didn’t score again in the half.
Drexel led 23-12 at the break and led by as many as 17 in the second half.