The Red Devils are among the favourites to win Europe’s secondary club competition, but started the evening at the bottom of Group A following a 1-0 defeat at Dutch side Feyenoord in their opening match.
And for more than an hour it looked as though Jose Mourinho’s men would stay there.
Despite hogging over 70% of possession, United were slow and ponderous in the final third as Zorya’s well-drilled defence held firm.
But Zorya, making their debut in the Europa League group stage, were undone inside two minutes of Rooney’s introduction.
United move up to third, level on three points with Feyenoord and one adrift of Turkish leaders Fenerbahce, who travel to Old Trafford on 20 October in the next round of games.
But Mourinho’s plan to recall the England skipper was scuppered by a minor back injury.
The United manager decided that continuity was the policy in his absence, sticking with the attacking quartet – Ibrahimovic, Marcus Rashford, Jesse Lingard and Juan Mata – that started Saturday’s 4-1 win.
However, they offered little spark against a visiting side that finished fourth in the Ukrainian Premier League last season.
Rooney was summoned from the bench with 25 minutes left and inadvertently set up the winner, scuffing a half-volley into the turf which fortuitously bounced up for Ibrahimovic to bundle in.
“Wayne gave us different positions and speed when the opposing team was getting tired,” said Mourinho.
But they have bounced back with three successive wins, beating Zorya after victories against Northampton in the EFL Cup and Leicester in the Premier League.
“One week, three defeats. One week, three victories. But I was not depressed by the defeats and I am not over the moon with three wins,” said the 53-year-old Portuguese.
“It was difficult. We had our chances in the first half, we could have scored and it would have been a different match. But we didn’t.
“They kept organised and had plenty of players behind the ball but with players ready to do something on the counter-attack. It was difficult and we needed to win.”
Manchester United striker Zlatan Ibrahimovic:
“It was not an easy game. We played well, created chances, but this is a typical game. When you don’t score in the beginning, the spaces get smaller and smaller. After the goal, we had more space but it was a decent game. We won and that is what counts after losing against Feyenoord.
“We could have done much more though, and I expect much more from the team. We did not score as we did against Leicester but it is good for confidence. If we continue this and step it up, we will do good.”
Back to the Premier League and back to Old Trafford for Manchester United. The sixth-placed side host Stoke, who are second bottom and winless, on Sunday (12:00 BST).
Match ends, Manchester United 1, Zorya Luhansk 0.
Second Half ends, Manchester United 1, Zorya Luhansk 0.
Attempt missed. Ivan Petryak (Zorya Luhansk) left footed shot from outside the box is high and wide to the left following a set piece situation.
Foul by Marcos Rojo (Manchester United).
Oleksandr Karavayev (Zorya Luhansk) wins a free kick on the right wing.
Attempt missed. Paul Pogba (Manchester United) right footed shot from outside the box misses to the left. Assisted by Zlatan Ibrahimovic.
Paul Pogba (Manchester United) wins a free kick in the defensive half.
Foul by Jaba Lipartia (Zorya Luhansk).
Mykyta Kamenyuka (Zorya Luhansk) is shown the yellow card for a bad foul.
Marcus Rashford (Manchester United) wins a free kick on the left wing.
Foul by Mykyta Kamenyuka (Zorya Luhansk).
Attempt saved. Zlatan Ibrahimovic (Manchester United) right footed shot from outside the box is saved in the bottom right corner.
Anthony Martial (Manchester United) wins a free kick in the attacking half.
Foul by Rafael Forster (Zorya Luhansk).
Zlatan Ibrahimovic (Manchester United) wins a free kick in the attacking half.
Foul by Rafael Forster (Zorya Luhansk).
Attempt missed. Oleksandr Karavayev (Zorya Luhansk) header from the centre of the box misses to the right. Assisted by Paulinho with a cross.
Attempt missed. Paulinho (Zorya Luhansk) right footed shot from the centre of the box misses to the left. Assisted by Mykyta Kamenyuka with a cross.
Attempt missed. Marouane Fellaini (Manchester United) right footed shot from the centre of the box is too high. Assisted by Wayne Rooney with a cross following a corner.
Corner, Manchester United. Conceded by Mikhail Sivakov.
Attempt blocked. Zlatan Ibrahimovic (Manchester United) header from the right side of the box is blocked. Assisted by Wayne Rooney.
Substitution, Zorya Luhansk. Artem Gordienko replaces Igor Chaykovsky.
Attempt missed. Jaba Lipartia (Zorya Luhansk) left footed shot from outside the box is too high from a direct free kick.
Foul by Marouane Fellaini (Manchester United).
Jaba Lipartia (Zorya Luhansk) wins a free kick in the attacking half.