Jose Mourinho's side extended their unbeaten run in all competitions to 11 matches,
Dutch defender Daley Blind opened the scoring in the 39th minute at Old Trafford with his first Premier League goal since September 2015.
Late strikes from Ibrahimovic -- his 50th for club and country in 2016 -- and substitute Henrikh Mkhitaryan, who scored with an audacious back-heel, confirmed victory.
It ensured that United, without injured captain Wayne Rooney, extended their unbeaten run in all competitions to 11 matches, despite Fabio Borini's spectacular consolation for the visitors.
United remain sixth in the league table, but drew level on points with fifth-place Tottenham Hotspur, who visit Southampton on Wednesday.
Sunderland and Moyes, sacked by United in April 2014, stay in the bottom three.
United captain Rooney was left out of the squad after picking up an injury in training, but Jose Mourinho's side coped without him to record a fourth successive Premier League victory.
United laboured before taking the lead and were grateful to goalkeeper David de Gea for getting them out of trouble twice in the first half.
He leapt athletically to his right to push away Patrick van Aanholt's free-kick in the 19th minute.
The Spain international then reacted smartly amid defensive chaos to block Victor Anichebe's close-range effort and nick the ball away as Borini followed up, causing the former Liverpool forward to miskick.
In between those two moments, United had a penalty appeal rejected as Juan Mata tumbled under Lamine Kone's challenge.
Paul Pogba was also very unlucky not to score with a curling, deflected shot that visiting goalkeeper Jordan Pickford touched onto the outside of the post.
The warnings got louder for Sunderland as half-time approached. Pogba lashed a dipping shot over the bar from 15 yards when he probably should have scored, but United soon were in front.
Marcos Rojo played in Ibrahimovic on the left edge of the penalty area and he teed up a perfect short pass for Blind to run onto and drill a shot into the bottom-right corner.
A second goal might have arrived before half-time, with Pickford comfortably thwarting Pogba, then making a rather more difficult save to push aside a low, 25-yard free-kick from Mata.
Pogba headed over a good chance early in the second half as United sought to assert their superiority, with Ibrahimovic then fizzing a shot just over after being played in down the right by Mata.
In an attempt to put the match out of Sunderland's reach, Mourinho brought on Mkhitaryan with just over an hour played.
The Armenia captain almost made an immediate impact, controlling Mata's excellent cross-field pass on the edge of the penalty area and bending a shot just wide.
Pickford then made a fine save with his feet to deny Ibrahimovic, but could do nothing when a defensive error on the halfway line allowed Pogba to slot the former Sweden international through for a second.
Mkhitaryan's third goal in three appearances had the home fans on their feet to applaud, although replays suggested the former Borussia Dortmund schemer may have been offside.
Borini's consolation, an unstoppable, looping shot from 25 yards after Rojo had headed out Jason Denayer's cross, was a special goal in its own right, but it came too late to affect the outcome.