The double-double was the 18th for Bowles, who scored at least 30 points for the fourth time in his career. He shot 13 for 21 from the field and 8 for 10 from the free-throw line.
Semenov had his first career double-double with 12 points and 10 rebounds.
The Dukes (9-3) won their third straight while the Thundering Herd (8-3) saw their five-game winning streak snapped.
James Madison rallied from a seven-point deficit in the first half, taking its first lead at 29-26 with 3:26 to go before halftime. The Dukes led 37-30 at the break.
After DeAndre Kane, who paced Marshall with 19 points, scored the first basket of the second half, the Thundering Herd could get no closer than seven and trailed by as many as 15.