Ipswich Town ended a four-game winless run with a hard-earned 2-0 victory over fellow play-off contenders Charlton Athletic.
Owen Garvan and Danny Haynes netted in either half for the hosts and, although Charlton had plenty of possession, Ipswich kept them at arms length for the most part.
Ipswich could have scored in the opening seconds when Alan Lee robbed Jose Semedo and shot narrowly over.
Nicky Weaver turned over an Alex Bruce shot before Charlton came close when Greg Halford thumped a header against the bar from a Darren Ambrose corner.
Ipswich went in front on 20 minutes with a stroke of luck as Garvan's intended cross flew in off the far post.
Lee was booked for diving when it appeared to many that Ambrose had fouled him in the box, before Pablo Counago drew a fine diving save from Weaver.
Ambrose finished well from a Zhi Zheng pass, but he was flagged offside before the ex-Ipswich man volleyed over from Matt Holland's cross.
Stephen Bywater saved well from a Leroy Lita shot and the on-loan Reading man then netted from Halford's pass, but he was also offside.
Lee headed over from an Alan Quinn cross before Town doubled their lead on 52 minutes, when sub Haynes volleyed home spectacularly from 20 yards when Charlton could only half-clear a corner.
Charlton sent on three strikers from the bench, but they created precious little.
Luis Castro Sito diverted a dangerous Ben Thatcher cross over his own bar as Ambrose came in behind him and from Ambrose's ensuing corner, sub Chris Iwelumo headed over.
Counago volleyed just wide for Town, before Iwelumo netted at the far post, but for the third time in the game a Charlton goal was ruled out for offside.
That was just about Charlton's last chance and, even though Ipswich ended with ten men after sub Shefki Kuqi was stretchered off injured with all three subs already used, they held on comfortably.