Snead, who finished with 11 catches for 135 yards, caught the winner in the back corner of the end zone for the Cardinals (3-1).
Ball State's Eric Patterson picked off South Florida's B.J. Daniels at the 10-yard line as time expired to seal the win.
Wenning was 24 of 36 for 244 yards passing with two touchdowns, and also ran for a score. Jahwan Edwards ran 98 yards on 16 carries and a touchdown for the Cardinals, who won their second straight game after being down late. Ball State beat Indiana, 41-39, on a field goal as time expired last week.
South Florida (2-2) lost its second in a row despite Daniels' efforts. He threw three TD passes and led the Bulls in rushing with 75 yards.
After trailing much of the way, South Florida turned a 24-12 deficit into a three-point lead in the fourth quarter. Daniels, who finished with 312 yards passing, threw a 15-yard TD pass to Andre Davis in the final minute of the third quarter, then connected with Lindsey Lamar on a 29-yard touchdown - the second TD for Lamar in the game. Demetris Murray's 2-point conversion run put the Bulls ahead 27-24 with 4:12 to go.
Wenning, who was not intercepted in the game, earlier found Jamill Smith in the corner of the end zone to make it 24-12. Jahwan Edwards ran for 98 yards and a touchdown for the Cardinals.
South Florida beat Chattanooga and Nevada before losing to Rutgers. The Bulls host No. 4 Florida State next week.
- Ball State