It looked as though the floodgates might open once Ronan Curtis gave the hosts an early lead on a bitterly cold night.
But they had to wait until the second half to wrap things up, with substitute Ellis Harrison converting a penalty.
Kenny Jackett made two changes from the side that secured a dramatic draw with Plymouth at the weekend.
Curtis was rewarded for his goal from the bench by being handed a start in place of the injured Michael Jacobs.
Ryan Williams also returned to the team, with Harrison dropping to the bench, where he was joined by fellow forward Jordy Hiwula.
There was a familiar face in the opposition line-up, as prolific striker Brett Pitman led the line for the Robins.
Pompey came charging out of the blocks and their opponents struggled to even make it out of their own half in the opening stages.
The first decent opportunity was a fierce angled effort from Curtis that had to be beaten away by Mark Travers at the keeper’s near post.
But CURTIS did break the deadlock just a few moments later, getting ahead of Dominic Thompson to fire home after Charlie Daniels’ free-kick had been flicked on by John Marquis.
It had been pretty much one-way traffic, but the hosts failed to capitalise on that bright opening, with the contest quickly turning stale.
The chances that did arrive in the remainder of the first half mainly fell the way of the Blues, however, with Craig MacGillivray not having much action to warm him up.
Williams was proving a particular menace and most of the hosts’ good work came through the Australian forward.
But it was Andy Cannon who came close to doubling the lead on 20 minutes, courtesy of a stunning half-volley that Travers tipped over the bar.
Then, when a low delivery from Williams went just behind Curtis, the ball was picked up by Daniels, whose drilled effort was dealt with by the Robins keeper.
There was one moment of Swindon danger, as Pitman’s pass was laid off by Christopher Missilou, but Jack Payne’s strike was deflected behind off James Bolton.
It was the hosts who had the final say before the break, however, as Williams teed-up Curtis for a shot that was diverted narrowly past the post.
Swindon Town 0
Swindon looked bright in the middle of the pitch once the action restarted, but Pitman was cutting a frustrated figure as he was starved of service up front.
And it was still the hosts looking more likely to add to the scoring, with Dion Conroy doing just enough to put off Marquis and stop the striker converting a fine Curtis delivery.
But failure to clear their lines almost cost them just before the hour mark, as Missilou’s placed effort clipped the outside of the post with MacGillivray rooted to the spot.
Jackett quickly made a double change, with Marquis and Marcus Harness withdrawn for Harrison and George Byers.
And both of the newcomers played a key role in Pompey’s second goal on 64 minutes, with Byers slotting a fine pass through to Williams.
He got the wrong side of Thompson, who brought down the Aussie, with referee Christopher Pollard pointing straight to the spot.
HARRISON won the argument with Curtis over who should take the penalty and calmly rolled the ball straight down the middle to double the lead.
Another substitution soon followed for the Blues, with Daniels given a rest and Lee Brown on at left-back.
It was proving to be a useful cameo from Byers and his effort was deflected wide following some good link-up play with Curtis and Harrison.
But that was as close as Pompey came to extending their advantage, as they saw out the closing stages with relative ease to collect a valuable three points.
Pompey (4-4-1-1): MacGillivray; Johnson, Bolton, Raggett, Daniels (Brown 67); Harness (Byers 59), Naylor (c), Cannon (White 90+3), Curtis; Williams; Marquis (Harrison 59)
Goals: Curtis 8, Harrison 64 (pen)
Subs not used: Ward, Mnoga, Hiwula
Swindon (4-1-4-1): Travers; Hunt (Caddis 78), Odimayo, Conroy (c), Thompson; Missilou; Garrick, Palmer, Payne (Twine 83), Hope (Omotoye 78); Pitman
Subs not used: Matthews, Curran, Broadbent, Iandolo
Referee: Christopher Pollard