Shenandoah (30-11) advances into a 9 a.m. Saturday morning championship game versus the winner versus Randolph-Macon (27-9-1). The 'Jackets will have to beat SU twice to win the title.
The Hornets, who have now reached the 30-win mark for the ninth time in the past 11 years, scored four runs in the first off of R-MC starter Michael Zubovich, but had to rally as Macon took a 6-4 lead thanks to two runs in the second, one in the third and two more in the fourth.
Coach Kevin Anderson's club cut the deficit in half with one run in the sixth before scoring two runs in the eighth off of Yellow Jackets reliever Tim Barron (0-3).
Wyatt Potter then hit a groundball between short and third and 'Jackets shortstop Zach Evans threw the ball wide at second, allowing Nussman to come all the way around to score the tying run.
Anderson then called for a suicide squeeze and catcher Matt Moon delivered, putting his bunt down right in front of Barron and allowing Thompson to score what proved to be the game-winning run.
In the ninth, Keegan Woolford hit a two-out solo home run to right to give the Hornets an insurance run.
In the ninth, he closed out the 'Jackets with a groundball to short, a line out to short and a strikeout looking.
Thompson finished his day 3-for-4 with three RBI – he had a two-run single in the first and an RBI double in the sixth.
Tristan Baker was 1-for-3 with two walks and a run scored to extend his hitting streak to 19 games.
Two of the six runs Kulina allowed were unearned.
Moon and Robert Marcelle both had two hits.