Marc Bridge-Wilkinson scored twice as Port Vale recovered from an early shock.
Swindon stormed into the lead in the seventh minute with a goal from their captain Andy Gurney but were unable to sustain their bright start.
Jimmy Davis, on loan from Manchester United, set up Gurney's goal with a low centre from the right and Gurney made no mistake from 10 yards.
But hardly had Swindon's celebrations died down when they gifted Vale a soft equaliser.
Big defender Matt Heywood fluffed a simple clearance on the edge of the six-yard box and Bridge-Wilkinson snapped up the opportunity with a low left-foot shot which struck keeper Bart Griemink before going over the line.
Vale sent on Rae Ingram as a substitute for the injured Neil Brisco after only 18 minutes, but Ingram did not see out the match.
The former Manchester City defender was booked for a foul three minutes later and then with 15 minutes remaining he committed another foul on Davis to earn a red card.
Swindon had plenty of pressure but they failed to make the best of it although Vale keeper Mark Goodlad made important saves from Davis and Stefani Miglioranzi.
Leading scorer Sam Parkin shot into the sidenetting and substitute Alan Young also failed to make the best of two openings.
Vale always looked dangerous on the break and went ahead in the 68th minute when Ian Brightwell centred from the right and Bridge-Wilkinson had time to head into the corner of the net from 12 yards.
Vale's victory was their third in succession whilst Swindon's defeat was their fourth in a row