The former Manchester United man put the finishing touches to two well-worked moves as the Black Cats earned three deserved points.
Sunderland boss Roy Keane made his intentions clear from the outset, adopting an attacking formation with target man Kenwyne Jones flanked on either side by Daryl Murphy and Anthony Stokes.
Jones was a selfless runner for the Sunderland cause and gave England centre-back Sol Campbell a torrid afternoon.
It was the home side who started the brighter of the two teams, Stokes firing at Pompey keeper David James with just five minutes on the clock.
The Wearsiders, though, rode their luck three minutes later when Benjani fired wide from inside the area when he looked certain to score.
And the visitors went close again on 16 minutes when Craig Gordon was forced to save from David Nugent, after Dwight Yorke had given away possession on the edge of the area.
But the hosts were back on the front foot on 18 minutes, Murphy crossing in with pace and Stokes getting in ahead of the Portsmouth defence, but only to head wide of the target.
Murphy then went close himself on the half-hour mark, firing narrowly wide from the left-hand side of the 18-yard box.
Three minutes later the Black Cats were rewarded for their attacking endeavour, as a long ball from centre-half Jonny Evans was chased down by Jones.
The Trinidad & Tobago star refused to give up the ghost unlike his marker, Campbell, who appeared to stop and the Sunderland striker pulled the ball back from the byline to find Richardson.
The midfielder held off Pedro Mendes before firing across James from the left-hand side of the box to put his side 1-0 up.
The home side continued to push on and doubled their advantage just before half-time.
Liam Miller chipped the ball forward for Murphy who ran at the Pompey defence. The Sunderland striker seemed to get the ball stuck under his feet, but Richardson was there to pick up the pieces and went past Herman Hreidarsson before firing into the net, this time from the right side of the area.
Keane will have been the happier of the two managers at half-time and he would have been even more pleased had Sunderland added to their tally shortly after the restart. Man of the match Kieran Richardson fired just over the bar after being teed up on the edge of the area by Stokes.
Just before the hour mark Portsmouth almost pulled a goal back, but Benjani saw his effort blocked by a last-ditch tackle from Evans.
Sunderland continued to press forward and Richardson went close to completing his hat-trick on 58 minutes. The Sunderland star cut inside from the right and rifled in a shot from 20 yards which beat James but came back off the crossbar.
Two minutes later Jones went close but headed over from six yards out.
The striker then almost turned provider on 68 minutes when his pass found Stokes on the right. The young Irishman tried to get the ball on to his favoured left foot, but this allowed James enough time to position himself and make a good save to deny the forward.
Portsmouth continued to look for a way back into the game but the Black Cats defence held firm as time ticked away.