Sunderland ended Ipswich's 11-match unbeaten run and moved to within two points of an automatic promotion place.
Second-half goals from leading scorer Stephen Elliott and substitute Chris Brown settled a crucial promotion clash in favour of the home side.
Ipswich had goalkeeper Kelvin Davis to thank for a goalless first half, although Darren Bent missed the best chance to break the deadlock.
Davis produced a stunning one-handed save to tip over a rasping 38th-minute drive from Darren Carter just when the Black Cats were threatening to take the game by the scruff of the neck.
Marcus Stewart squandered a great chance to score against his former club when casually side-footing an astute pass from Jeff Whitley just the wrong side of the upright, and also forced Davis into a good stop from close range.
Ipswich, dangerous on the break, also had chances in an evenly contested opening spell. Ian Westlake fired into the side netting and Thomas Myhre saved well from Shefki Kuqi.
Bent however went clear in the 18th minute but with only Myhre to beat, the £10million-rated striker pulled his shot embarrassingly wide.
Sunderland brought on Liam Lawrence for Whitley at the start of the second half and the reshuffle paid almost instant dividends.
Davis made another outstanding save from the impressive Carter but was unable to prevent the home side from taking a 60th minute lead.
Lawrence went down from a challenge in the penalty area but won only a corner. Ipswich failed to clear Lawrence's flag kick and Elliott cleverly back heeled the ball into the net.
Sunderland went further ahead in the 75th minute. Lawrence found Carter who squared the ball across the face of goal for Brown to notch his first league goal for the club.