South Alabama increased its lead to 24-13 early in the fourth quarter on a trick play. Wide receiver Gerald Everett took a pitch from running back Dami Ayoola and found quarterback Cody Clements wide open in the end zone for a 7-yard score.
But after Johnson's TD, Lafayette turned it over on downs at its 34 with 2:46 remaining and South Alabama ran out the clock.
Cody Clements threw for 281 yards and had two total touchdowns for South Alabama (5-4, 3-2 Sun Belt).
Robinson had 10 catches for a career-high 188 yards for Louisiana Lafayette (4-5, 3-2).