Danny Hylton's second-half strike put
With the Robins only needing a point to secure a place in League One next season, goals from Guy Madjo and Hylton ensured they will have to wait until at least Saturday - when they visit Gillingham - before promotion can be confirmed.
Paul Caddis' penalty just after the break had levelled things but Aldershot started the brighter and took the lead on 12 minutes through striker Madjo, who pounced after Hylton's initial shot was saved by Wes Foderingham.
Callum Kennedy scampered down the left to supply Raffaele De Vita but he headed over Swindon's first sight of goal five minutes before the break.
Seven minutes after the restart the visitors drew level from the spot, captain Caddis slotting home after Peter Vincenti had handled in the box.
Five minutes later, Aldershot regained the lead through Hylton who fired home his 13th league goal of the season from close range after Madjo's cut-back.
The Cobblers, who replied through substitute Brett Williams, rallied late on, twice hitting the woodwork, but the Red Devils held on to extend their unbeaten run to 12 games. Scott Neilson broke the deadlock for the hosts after 14 minutes in superb style with a 25-yard strike which goalkeeper Neal Kitson got a hand to but could not prevent from going into the top corner.
Kitson was beaten again seven minutes later when Billy Clarke cashed in on poor defending with a near-post header from six yards which went under the keeper's body. The hosts continued to dominate with Gary Alexander putting a deflected shot wide before Kitson dived low to save a drive from Neilson.
Northampton's problems increased six minutes before the break when keeper Kitson turned a deflected cross from Josh Simpson into his own net. Crawley defender Kyle McFadzean threatened shortly after the break when his header was parried by Kitson.
Substitute Williams reduced the deficit on 65 minutes by punishing a slack defence from close range following a low cross from Jake Robinson.
Williams later had a goalbound shot blocked by Charlie Wassmer and fellow substitute Toni Silva put an angled shot against the bar before Williams fired against the base of a post in stoppage time.
The midfielder fired home a stunning drive 10 minutes into the second half as Shrewsbury extended their unbeaten home run to 31 matches.
The hosts started positively and almost forced an own-goal from visiting defender John McCombe who was relieved to see his header from a probing Nicky Wroe ball drift just wide.
Vale were indebted to a stunning double save from goalkeeper Chris Martin for keeping Shrewsbury at bay on the half-hour mark as he brilliantly repelled stinging drives from Mark Wright and Richards in quick succession.
The visitors came into the game as the half unfolded and Sean Rigg struck the outside of a post from the edge of the box. But the Shropshire side always looked more likely to break the deadlock with top scorer James Collins unfortunate when he smashed a powerful shot from a tight angle against the bar with Martin beaten.
Richards netted the winner with a 25-yard strike that nestled into the bottom corner. Shrews keeper Chris Neal saved superbly from Marc Richards, while Graham Turner's men almost doubled their advantage when Wright struck a post after Martin saved well from Terry Gornell.