Shenandoah (1-1) snaps a 10-game losing streak with the win over the Panthers (0-2). SU had not won since opening the 2012 season with a victory at Stevenson.
The triumph is also just the third for the Hornets in 17 lifetime meetings against their former USA South Conference rival.
Trailing 21-7 in the middle of the second quarter after Ferrum answered the first SU score with a touchdown pass of its own, the Hornets stormed back to take a 22-21 lead by the halftime break.
Senior Byron Mitchell got matters started by blocking a Wes Franklin punt out of the back of the end zone for a safety 3:27 before the halftime gun.
A Ferrum three-and-out followed, and the Hornets took the improbable 22-21 halftime lead by driving 56 yards in eight plays.
Andrew Smith, who finished the day with 25 carries for 185 yards, hauled in a 10-yard TD pass from Ferguson for the go-ahead score.
The Hornets extended the lead out to eight, 29-21, before Ferrum answered with a TD and a two-point conversion to tie it at 29-29 by the end of the third.
The tie didn't last two minutes.
Smith scored his third touchdown of the game at the 13:31 mark of the fourth, scampering in from 24-yards out, to put SU on top to stay.
Ferrum had one last chance in it, and drove all the way to the Shenandoah 1 before QB Tim Reynolds was stopped on a 4th and goal on a sneak.
The Hornets then went old-school on the ensuing drive, going 99 yards (all on the ground) in 13 plays to score the game-clinching touchdown.
The drive, which ended with a Josh Wells 11-yard run, took up 6:25 of game time.
The Panthers were able to drive into SU territory on their final drive, but failed on a 4th down as time expired.
Shenandoah finished the game with 472 yards in total offense with 298 coming on the ground.
Ferguson and Justin Neff was a combined 20 of 38 for 174 yards and two TDs.
Michael Messick had a team-high 10 tackles for the defense.