Striker Dean Aston scored one goal and created the other two as Crewe extended their unbeaten run to nine matches to keep up their hopes of clinching automatic promotion at the end of the season.
Ashton opened the scoring in the 17th minute when he raced on to Kenny Lunt's precision pass to slide a shot past keeper Bart Griemink and into the right-hand corner.
Defender Steve Foster added a second six minutes before the half-time interval when he finished from close range after Ashton had seen his powerful header rebound off the underside of the crossbar into his colleague’s path.
The match was effectively over 12 minutes after the re-start when Ashton broke clear of Swindon's offside trap before squaring to strike partner Rodney Jack, who had the simple task of sidefooting it into an empty goal.
Swindon striker Sam Parkin's 14th goal of the season from the penalty spot provided little consolation for the home side as they saw their own eight-match unbeaten run in the league come to an abrupt halt.
But the scoreline could have been very different for Andy King's team had they produced better finishing in front of goal and not run into a goalkeeper in form.
Eric Sabin and Danny Invincibile wasted clear chances with just goalkeeper Clayton Ince to beat, while the Crewe keeper did brilliantly to deny Stefani Miglioranzi's fierce drive on the stroke of half time.
Ince was in inspired form in the second half as he denied Andy Gurney, Parkin and Matt Hewlett with a series of instinctive blocks, but Gurney was unlucky not to reduce the deficit further after Parkin’s goal, when his goalbound header bounced down off the turf but over the crossbar.