Neil Mellor scored twice to take his tally for the season to 19 with Darren Potter also on target for the home side. Jonathan Douglas was on the scoresheet for Swindon.
Potter gave Wednesday a 16th-minute lead with a deflected shot from just outside the area.
Mellor put the home side further ahead with a looping header over goalkeeper Phil Smith after meeting a deep cross from John Otsemobor.
After Weaver did well to keep out a close-range shot from Elliot Benyon, Douglas pulled a goal back for Swindon with a superb 30-yard drive.
Wednesday restored their two-goal advantage in the 53rd minute when Gary Madine squared to Mellor who fired past Smith from close-range.