Petrov's goal owed much to a wicked deflection off Sol Campbell
Manchester City maintained their hunt for a Uefa Cup spot with a well-earned home victory over 10-man Portsmouth.
Darius Vassell put City in front after a defensive mix-up on 10 minutes, with Martin Petrov doubling the lead with a deflected strike two minutes later.
Pompey were a man down just before half-time when Hermann Hreidarsson was sent off for impeding Darius Vassell as the City forward ran through on goal.
Later, Benjani sealed the win against his old club with a fine, low strike.
With Sunday's newspaper headlines speculating about City boss Sven-Goran Eriksson's future at Eastlands, the Swede preferred to concentrate on matters on the pitch as his side recorded only their second home victory in nine matches.
Interview: Man City boss Sven-Goran Eriksson
Eriksson made one alteration from the side which beat Sunderland, with Vassell replacing Sun Jihai and attacking midfielder Elano shifting to right-back, a position he has previously filled for Brazil and former club Santos.
An audacious 40-yard strike from Papa Bouba Diop stung the palms of City keeper Joe Hart within the first two minutes, while Sylvain Distin wasted a useful chance from the resulting corner.
But for all of the visitors' opening endeavour, a calamitous communication breakdown between Sol Campbell and David James gifted Vassell the opening goal.
Campbell had looked in total control as he chased down a seemingly harmless City ball, only to find keeper James stranded 10 yards outside of his box attempting to clear his line.
With both players unsure about their next course of action, Benjani took advantage of the confusion to find Stephen Ireland, whose mishit shot fortuitously fell into the path of Vassell, who slotted home from two yards.
And within two minutes, Petrov had doubled the lead with a right-footed snap-shot - courtesy of a wicked deflection off Campbell's inside leg.
But Portsmouth reduced the deficit when Utaka's header looped over Hart on 24 minutes as City's players pleaded with the assistant referee to raise his flag for offside, only to have their requests ignored as Petrov played all of Portsmouth's attackers onside.
Benjani - lining up against his former side for the first time since his protracted £7m move to the north-west in February - was at the heart of City's most promising attacks, including a fierce low drive which James parried.
Portsmouth's rearguard was severely hampered when Hreidarsson was adjudged to have impeded Vassell as he ran on to Ireland's through ball on 40 minutes, a foul which referee Andre Marriner believed merited a straight red card.
James ended a thoroughly entertaining first half with a world-class fingertip save to prevent Vassell's accurate curling left-foot strike from the edge of the area from sailing into the top right corner.
Benjani had a fine game against his former club
Although the second half lacked the drama of an incident-packed first period, there were numerous chances for both sides to add to their tallies.
Benjani soon wasted a glorious opportunity to extend City's lead, spinning away from his marker with a sublime first touch before blazing over with his second from six yards out.
Within seconds, Portsmouth swept downfield and struck the woodwork twice when Sulley Muntari's thunderous left-foot strike was pushed onto the right-hand post by Hart before Utaka smashed the resulting deflection onto the left-hand post.
Despite their numerical disadvantage, Portsmouth rallied and continued to conjure opportunities - although City fashioned counter-attacks through Vassell and Benjani, the latter firing wide of James's right post from the edge of the box.
Interview: Portsmouth boss Harry Redknapp
However, the dreadlocked Zimbabwean finally registered on the scoresheet with 16 minutes remaining, beating Distin on the outside before firing low past a diving James.
Chasing a two-goal deficit, the visitors withdrew John Utaka for on-loan striker Milan Baros, who was denied his first Portsmouth goal when Hart made a fine stop.
The England Under-21 keeper was forced to make another fine save when he palmed over Sean Davis's strike with time running out, but the substitute's shot was the last chance of an entertaining match.
• Manchester City manager Sven-Goran Eriksson:
"I do not feel under pressure - I have been around far too long for that.
"It was very important to win. I think the team worked very well, we scored three goals but we could have scored double that.
"The chance is still there to play in Europe next season - we must take it."
• Portsmouth boss Harry Redknapp:
"We gave away two terrible goals away. We missed some great opportunities to go one-up, but instead we found ourselves two-down.
"Even with 10 men we created lots of chances, it was a case of trying to stick one away."
BBC Sport Player Rater man of the match: Manchester City's Martin Petrov 8.03 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.