After criticism by Thai owner Thaksin Shinawatra of City's nose-diving fortunes in the second half of the campaign, Sven-Goran Eriksson's side have responded with back-to-back wins against Sunderland and Pompey.
Goals from Darius Vassell, Martin Petrov and Benjani Mwaruwari provided the perfect riposte as City kept alive their hopes of winning a place in the Intertoto Cup.
While City had plenty to cheer, the defeat, only Pompey's second in seven league games, dented their bid to finish fifth and claim a UEFA Cup place.
After the last two meetings between the two teams had finished goalless, this exciting match bucked the trend of recent meetings and could easily have produced ten or 12 goals such were the riches of the attacking play.
City took control early on after two minutes of madness in the visiting defence.
Their 10th minute opener followed a mix-up between defender Sol Campbell and keeper David James, which enabled Vassell to slide home a shot from a couple of yards.
Pompey's defence was carved open again moments later when Elano's cross from the right found Petrov, who fired home through the legs of Campbell.
And the hapless Campbell was lucky not to concede a penalty after handling the ball as he slid into cut out a cross from Benjani.
Pompey halved the deficit midway through the opening half when City's defence was caught napping and John Utaka beat keeper Joe Hart as he poked home the loose ball.
Pompey's woes continued when they were reduced to ten men five minutes before the break when Hermann Hreidarsson was sent off for hauling back Vassell, who had burst through on goal.
And in first-half stoppage time James came to Pompey's rescue with a brilliant save to keep out a spectacular shot from Vassell as Pompey were lucky to finish only one goal behind.
Ten-man Pompey gave it their best shot in the second-half as Sulley Muntari and Utaka were both denied by the upright in the same move, while Jermain Defoe was denied a blatant penalty after a foul by Richard Dunne.
Benjani and Vassell, City's two most dangerous attacking players, both had glaring misses as City chased a third goal to finally kill off the spirited resistance of Pompey.
That goal finally came in the 74th minute when Stephen Ireland released Benjani who burst through to score with a fiercely-struck shot.
Even when 3-1 down, Pompey refused to throw in the towel and in the last ten minutes Hart pulled off solid saves to deny substitutes Milan Baros and Sean Davis.