Williams exceeded 1,000 yards for the season, a UTSA first, while tying the single-season rushing touchdown record with eight.
The Roadrunners won their second straight. The Owls (4-7, 2-5) dropped their fourth straight.
Driphus Jackson was 23 of 40 for 359 yards, two touchdowns plus two interceptions that ended his streak of 145 attempts without a pick. Jackson went over 2,000 yards passing in a season for the second time. Nate German had 138 yards receiving and a TD.
Sturm's TD 23-yard pass to Kerry Thomas Jr., Williams' 78-yard scoring run and Sturm's 1-yard score - all in the second quarter - gave the Roadrunners 28-17 halftime lead.