The Hornets (29-11) advance to Friday morning's winner's bracket final versus Randolph-Macon with the victory over Roanoke (21-17). The winner of that contest will have two chances to claim the league's crown.
Senior left-hander Robert Klinchock tossed his third consecutive complete game, and second consecutive shutout, with a four-hit, nine strikeout performance.
Klinchock (7-4) has not allowed a run in the past 20 2/3 innings and he retired the final nine hitters he faced in order.
Shenandoah jumped on Kenny Mackovic (3-2) for four runs on five hits in the third. Henry Delavergne got the rally started with a single before stealing second and moving to third on Frankie Ritter single to right.
Senior Tristan Baker followed with a three-run home run to left (his fourth of the season) to put the Hornets up 3-0.
In the fifth, Baker lined a single to left to tie Kevin Brashears '11 for the No. 2 spot on the all-time hits list. Baker stole second and scored as Nussman laced a double down the line in right.
Coach Kevin Anderson's club loaded the bases with no outs in the sixth and Ritter and Nussman made reliever Ethan Delahunty pay with RBI singles to center and right, respectively. Nussman's single scored two runs.
Woolford drove in his first run with a double to right in the eighth. Thompson capped the scoring with a two-run single to center.
Ritter, Baker and Nussman all had three hits with Woolford, Thompson and Wyatt Potter getting two each.
Shenandoah takes on top-seeded Randolph-Macon at 11:30 a.m. in the winner's bracket final. This game will be played at Haley Toyota Field at Salem Memorial Ballpark.