Speight broke a 7-7 tie when he completed a 17-yard touchdown pass to Nick Andrews with 9:47 remaining in the second quarter.
The Hornets (4-3, 1-3 Southwestern Athletic Conference) led the rest of the way as they snapped a three-game losing streak, and defeated Alcorn State (2-4, 2-2) for the seventh straight time.
Speight was 15-for-23 for 161 yards and two touchdowns. His 11-yard pass to Darius Mathis with 1:58 remaining in the first half gave Alabama State a 24-7 lead.
Mathis finished with 45 yards on four catches and Andrews had three receptions for 52 yards for the Hornets.
Alcorn State was led by Tim Buckley with 355 yards and two touchdowns on 33-for-60 passing. Edward Johnson had 187 yards on 15 catches.