David Nugent scored one goal and made the other as Portsmouth stunned Ipswich with an unlikely win at Portman Road.
Ipswich dominated the first hour and saw numerous chances to break the deadlock come and go.
Connor Wickham saw one volley tipped over by Jamie Ashdown but he also made a mess of a close-range header.
Town paid the price when Nugent got on the end of David Cotterill's free-kick to lash home his shot, then set up Cotterill to chip home Pompey's second.
The win was Pompey's fourth in a row in the Championship and sees them continue to climb away from the relegation zone, and also leapfrog above Ipswich.
Portsmouth did create the first chance of the game when Dave Kitson headed Ritchie De Laet's cross straight at Town keeper Marton Fulop.
But the home side quickly took control and Wickham's stinging volley on the quarter hour mark was the first of many missed opportunities.
The 17-year-old flashed another header across the face of goal, Joel Ward headed straight at Ashdown and Jason Scotland fired into the side-netting.
Wickham's miss from point-blank range came just before the break and he was denied again after the interval when Ashdown kept out his stooping header.
Ashdown also denied Scotland, with a shot on the turn, before Nugent gave Pompey the lead totally against the run of play in the 55th minute.
Cotterill's free-kick from the right found Nugent about 15 yards out and he stepped inside David Norris before smashing the ball into the roof of the net for his seventh goal in eight games against Ipswich.
Ipswich boss Paul Jewell responded by bringing on wingers Andy Drury and Luciano Civelli but Pompey made sure of the points with a breakaway goal in the 77th minute.
Nugent surged forward down the left and cleverly found Cotterill breaking into the area, and he lifted the ball over the onrushing Fulop to make it 2-0.
Live text and stats
Saturday, 26 February 2011
08 Norris (Drury 73)
11 Martin (Priskin 84)
10 Scotland (Civelli 73)
05 De Laet
20 Ward (Mokoena 66)
33 Rocha yellow card
08 Mullins (Kanu 90)
10 Nugent (Dickinson 90)
Ref: MathiesonAtt: 23,345
Attempts on target
Attempts off target
90:00+4:20 The referee ends the match.
90:00+3:52 Long range effort from Carlos Edwards misses to the left of the goal.
90:00+2:43 Foul by Grant Leadbitter on David Cotterill, free kick awarded. Greg Halford restarts play with the free kick.
89:05 Substitution Carl Dickinson is brought on as a substitute for David Nugent.
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.