Byron Moore scored his first goals of the season as Crewe beat Swindon.
Raffaele De Vita's bullet header put the Robins ahead, before Moore guided home Michael West's centre to level the scores five minutes later.
And the forward netted his second just before half-time with a chipped shot over keeper Wes Foderingham.
Town searched for an equaliser but Gary Roberts' volley forced Alan Martin into a superb save, while substitute Matt Ritchie saw two efforts go wide.
The result pushes Swindon out of the play-off places in League One while Crewe move up to 16th.
VIEW FROM THE DRESSING ROOM
Swindon Town manager Paolo Di Canio told BBC Wiltshire:
"Once again, we have to thank some of our players for the mistakes they made. This time it's Alan McCormack, my captain.
"He lost three balls in a row, without being under any pressure.
"He's a player that should know what I want and it's things like that that will see us drop and drop.
"We have to be careful because this team is capable of winning 10 in a row, but also losing 10 in a row."