Goals from Johnnie Jackson, Joe Anyinsah and Paul Benson secured the three points for the visitors.
Swindon looked the better side in the early exchanges and probably shaded the first half, but let it slip in the second period and were duly punished by Phil Parkinson's side.
Swindon pair Vincent Pericard and Charlie Austin both had shots blocked in the opening minutes, but the visitors took the lead in the 13th minute when Johnson drilled home Benson's pass into the penalty area.
Austin and Paul Caddis both had chances to haul Swindon level, but Charlton doubled their lead six minutes into the second half. Matt Fry crossed from the left and Anyinsah rose to plant his header into the top corner from six yards.
The Addicks' second goal knocked the wind out of Swindon's sails and both Austin and Phil Smith had to clear efforts from Charlton duo Benson and Gary Doherty off the goalline from successive corners.
Visting midfielder Scott Wagstaff then set up Benson for the third goal, beating Alan O'Brien on the left and crossing for the Addicks striker to nod home his sixth goal of the season at the far post.