It was Rovers who started brightest, with an opportunity from Marvin Emnes before Danny Graham gave them the lead. It didn't last long as Marcus Rashford managed to bring the sides level going into the break.
The second half wasn't as eventful as United looked to gain a lead, chances for Ibrahimovic followed before he got the winner in the 75th minute. There was a slight scare with Willem Tomlinson found the net, but that was ruled out for offside and their passage was secured.
Looking to cause an upset
It was only a short trip to Ewood Park for Jose Mourinho's side, however their mission was clear, as they look to maintain their status in all the current domestic cups.
However, it was a poor start from the Red Devils as Rovers had the first opportunity in the 16th minute. Emnes decided to go for goal, and it looked dangerous as it swerved in the air however Sergio Romero did well to palm it away.
He turned provider only a minute later as the hosts took a surprise lead. It was excellent from the striker as he tied Marcos Rojo in knots, he then played an excellent ball into the path of Graham who did well to find the far corner.
Anything you can do, I can do better
That shock seemed to kick United into life, and they had a great opportunity to equalise in the 24th minute. Jesse Lingard was on the byline when he found Mkhitaryan, whose shot was blocked but it fell well for Ander Herrera but the effort was beaten away by Jason Steele.
The Armenian was on top form moments later as he played a big part in getting United their equaliser. He produced an excellent ball with the outside of his boot, which split the Rovers defence apart and landed perfectly at the feet of Rashford. The youngster remained calm and collected as rounded Steele and slotted home.
Making an instant impact
The second half certainly didn't have the same intensity of the first, with Mourinho opting to bring out the big guns with Paul Pogba's and Ibrahimovic's arrival and they almost made an instant impact.
Herrera somehow managed to scuff an effort towards goal in the 65th minute, Ibrahimovic looked like he would get on the end of it as he stretched out but couldn't connect well enough.
He didn't have that problem ten minutes later, as the super subs collaborated brilliantly to give United a crucial lead. It was excellent from Pogba as he sent a ball from the halfway line over the top for Ibrahimovic, the Swede waited for it to fall out of he sky before striking past Steele in the far corner for his 24th goal of an excellent debut campaign.
Hearts were in mouths four minutes from the end, as Owen Coyle's side tried to snatch a replay. Connor Mahoney did well to come inside before having a crack, it was fumbled by Romero right into the path of Anthony Stokes. The striker looked the favourite but Romero did brilliantly to save with his face from point-blank range, Tominlinson was there on the follow up to finally put it in but he was flagged for offside.