Craig Bellamy scored a second-half brace as West Ham beat Portsmouth for the first time in the Premier League.
The striker capped a fine performance by lashing in West Ham's third after racing clear from halfway and side-footing the fourth from 12 yards.
Nadir Belhadj fired Pompey ahead from 10 yards, but Jack Collison rifled past an unsighted David James to level.
Pompey's Jermain Defoe missed a penalty before Carlton Cole tapped in a second for West Ham after another Bellamy run.
Marc Wilson, making his Premier League debut for Pompey, was constantly tested in the first half as West Ham looked to make use of Bellamy's trickery down their left.
But for all their early endeavour, a Bellamy free-kick that cleared the crossbar and a Cole stab wide was all the visitors could muster before Portsmouth took the lead.
They worked the ball out to the right flank and Glen Little swung over a deep cross beyond the back post where Peter Crouch pulled the ball down before setting up Belhadj to sweep home from 10 yards after eight minutes.
Adams rues missed opportunities
West Ham, who had only scored twice in their last six games, again failed to find the target moments later when Collison shot wide.
But the midfielder made amends, firing in the equaliser from 12 yards on 20 minutes after taking advantage of Mark Noble's quick free-kick and a Bellamy dummy.
Noble found Cole down the left and he teed up Collison to fire through an unsighted James in the Pompey goal.
There was little James could do as he had Sylvain Distin and Bellamy blocking his view, the latter cleverly stepping over the ball to deceive the keeper.
Crouch and Sean Davis both tested Hammers keeper Green with volleys, the latter a sweet strike from the edge of the box, as Pompey finished the half strongly.
And they should have gone in 2-1 up when Crouch was bundled over in the penalty area by Lucas Neill on the stroke of half-time and referee Steve Bennett pointed to the spot.
But Defoe failed to take advantage, dragging his penalty wide of Green's left-hand post.
Portsmouth pressure continued after the break with Belhadj raiding down the left but Crouch and Defoe both shot too close to Green.
And they were made to pay for their profligacy when they were hit on the break by the pace of Bellamy.
He broke down the left and squared for Collison, who hit the post with a first-time side-footed shot, but Cole was on hand to tap in the rebound.
Zola pleased with confident win
Wilson came within a whisker of levelling for Portsmouth, but his header smacked the post and 17 seconds later, West Ham had extended their lead.
The ball was cleared to Bellamy who raced from the halfway line, and lashed home at the second attempt after James had done well to try and halt his progress.
And Bellamy rounded off a superb performance, passing the ball into the net after substitute Luis Boa Morte's pull-back found him in the centre of the penalty area with as much time and space as he needed.
Portsmouth manager Tony Adams:
"We have had another horrific result at home but there are positives to take.
"It was an even game but we missed a great opportunity to go 2-1 up (Defoe's penalty) and then we've given away two more silly goals.
"Things are not going our way at the moment - the players want to get forward and score goals but we're getting done on the counter-attack - we need to learn how to take a 0-0 or 1-1."
West Ham manager Gianfranco Zola:
"This win will help improve confidence and self belief at the club.
"It was like a game of basketball with chances coming at both ends but we controlled the game after our second goal.
"Credit to Portsmouth though - they could easily have won, they were a bit unlucky as we have been.
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.