Shenandoah (11-4, 4-1 USA South) scored four runs on just one hit in the top of the first to give junior Vince Claudio all of the offense he would need.
Claudio (4-0) struck out five and walked three in 7 2/3 innings of work before turning it over to freshman Matt Riegler.
Claudio scattered five hits.
N.C. Wesleyan (10-13, 1-3) committed three errors in that first inning to give the Hornets two of the three runs unearned.
Beall had the final RBI of the game with a sacrifice fly in the sixth.
Shenandoah turned three double plays, including inning-ending twin-killings in the seventh and ninth.
Krout led the offense with a 2 for 2 day that included two runs scored.
Brandon Roberts (3-2) took the loss after allowing five runs (two earned) on four hits and three walks in 7.0 innings. He struck out five.
These two teams complete their weekend series tomorrow with a 1 p.m. contest.