Stephen Elliott returned from injury to inspire Sunderland to a first win in four matches in the first ever meeting with Colchester United.
The Republic of Ireland international struck in each half to ease the pressure on Roy Keane in his search for a settled and winning formula in the start to his managerial career.
The Black Cats however had to withstand a spell of late pressure from the visitors after substitute Chris Iwelumo pulled a goal back after 79 minutes, and both Jamie Cureton and Kemal Izzet were guilty of glaring misses before David Connolly restored the two-goal advantage in stoppage time.
Keane made five changes to the side held to a home draw by Southampton, recalling Stanislav Varga, Grant Leadbitter, Liam Miller, Chris Brown and Elliott at the expense of Nyron Nosworthy, Steve Caldwell, Graham Kavanagh, Daryl Murphy and Connolly. The visitors welcomed back Greg Halford and Jamie Guy.
The Black Cats were let down by sloppy passing as they worked hard to break down a solid visitors defence well held together by the experienced Wayne Brown.
The lively Karl Duguid hit the inside of the post for Colchester after hesitancy in the home defence who were relieved to see an offside flag but gradually Keane's side gained the upperhand.
But they had to be alert following a 40-yard run by Jamie Guy whose shot struck Varga before looping over the bar.
Elliott cut in from the right to test Aidan Davison with a crisp left-foot drive and then Leadbitter tested the keeper with a fierce shot as Sunderland kept up the pressure.
Pat Baldwin came to the visitors rescue with a timely interception to deny Brown after Dwight Yorke and Leadbitter had combined. Guy blasted high and wide after a mistake by Varga before Sunderland ended the first half with a flourish.
Elliott fired across the face of the goal after taking a return pass from Leadbitter, but the striker had better luck just before the break. Taking a pass from Leadbitter, the Republic of Ireland international swivelled smartly before drilling a low shot just inside Davison's left-hand post.
And Yorke should have sent the home side in at the interval with a two-goal cushion only to drag his shot past the post from another great position.
Davison made a diving save from Brown's header from a Wallace free-kick, but the home side were not to be denied and went further ahead in the 53rd minute with a well-worked goal.
Brown broke down the right to bring in the overlapping Dean Whitehead who threaded the ball across the face of goal from the byline to leave Elliott with a simple tap in.
Wallace should have put the issue beyond doubt in the 65th minute when he mis-kicked in front of an open goal after another surging run by Elliott, and Brown had the ball in the net three minutes later only to be ruled offside.
Halford surged down the right to torment the home defence and, after his shot had been blocked, Iwelumo forced the ball home from close range.
Panic set in and Colchester would have snatched an unlikely point but for the late misses when Cureton and Izzet lobbed Ward from close range only for the ball to miss the target.
Connolly took his goal well after receiving the ball from fellow substitute Kavanagh to end the resistance of the plucky visitors.