Matthew Hill got Danny Wilson's side off to a good start at The County Ground when he grabbed a 20th minute opener for the visiting Robins.
The game was settled in the 51st minute when Alan Reeves was sent off during a tussle when Town where trying to line a wall up to defend a free kick. Lee Peacock (pictured) then added insult to injury by smashing home the resulting set piece to make it 2-0.
Despite being a man down, the home side grabbed a goal back through on-loan striker Dominic Foley just before the hour but City held on for the points.
Stoke were looking to go above Reading at the top of the league and took the lead at The Sixfields through Marc Goodfellow's 35th minute strike but they were unable to hang on to that lead and Sam Parkin grabbed an equaliser eight minutes from time for the basement side.
Match Summaries:
Northampton v Stoke
Swindon v Bristol City
Click Here for league table.