They are now second, 15 points behind Spartans with five games in hand and a home game against Spartans to play.
Vale are one point and one place above the relegation zone although they took the lead in the fourth minute when Steven Radzynski scored with an angular drive. Eddie Dinnes equalised midway through the first half before turning provider for Chris Geddes.
Stirling made it 3-1 early in the second half through Craig Mason although Vale responded immediately when Paul Greenhill burst into the box but was brought down, Jordan Hall scoring the penalty. Vale were caught ten minutes from time when Greenhill tripped Daniel Denholm and Geddes netted from the penalty spot.
Paul Sludden completed the scoring for Stirling.