Paolo Di Canio's side won the battle of League Two's top two at the County Ground.
Alan Connell opened the scoring for Di Canio's men in the 33rd minute and Oliver Risser added a second on 58 as Swindon moved seven points clear of the second-placed Gulls.
Shrewsbury kept up the pressure in third with a 2-0 win over fading Cheltenham. Nicky Wroe gave the Shrews a first-minute lead and Terry Gornell added a second just before the hour.
Fourth-placed Southend lost ground on the leaders as Danny Hylton's goal gave Aldershot a 1-0 win at Roots Hall.
Crawley moved back up to fifth after Dannie Bulman scored the only goal at Gillingham in the 50th minute, and Oxford clung on to a play-off place after Dean Morgan's goal in a 1-0 win over AFC Wimbledon.
None of the six sides at the bottom managed to win, but Dagenham and Redbridge nudged nearer safety with a 2-2 draw at London rivals Barnet.
Michael Spillane put the Daggers in front before Izale McLeod's 30th-minute equaliser. Scott Doe put the visitors back in front but Ben May rescued a point for Barnet on with 11 minutes to go.
Second-bottom Hereford fell to a late Marc Richards header in a 1-0 defeat at Port Vale, and Maxime Blanchard equalised late as Plymouth grabbed a 1-1 draw with Bristol Rovers, who had led through Matt Harrold.
Macclesfield slipped further into danger with a 4-2 defeat at Rotherham. Mark Bradley and Ben Pringle gave the Millers a 2-0 lead before Matt Smith reduced the deficit. Alex Revell restored Rotherham's two-goal cushion, a Lewis Chalmers penalty gave Macclesfield hope, then Kieron Cadogan settled it for the Millers.
Bradford are also in danger after falling 1-0 to an early Harry Davis penalty at play-off chasers Crewe, but Northampton made ground with Kelvin Langmead grabbing an injury-time winner in a 1-0 victory at Burton.
Accrington and Morecambe shared the points with Peter Murphy's early opener for Stanley cancelled out by Danny Carlton's 70th-minute equaliser for the Shrimps.