Johnnie Jackson opened the scoring for Charlton on 22 minutes, after what looked like a hand ball in the built up wasn't given, and Swindon failed to clear the ball away before it fell to Jackson.
Matt Ritchie equalised for Swindon on 41 minutes with a close range rebound shot making it 1-1 going into the half time break.
Charlie Austin scored his 16th goal of the season to put Swindon in front on 61 minutes.
Then on 77 minutes Sean Morrison made it 3-1 with a header after a Jon-Paul McGovern free kick had been crossed into the box.
By 81 minutes it was 4-1 with with another goal from Austin, this time from a close range header. This saw a large number of Charlton fans leaving the ground, to the chant "Is this a fire drill?"
Charlton pulled a goal back on 87 minutes from Abbott, but it was a case of too little too late as Swindon ended the game 4-2 winners.