United captain Harry Maguire headed home from a corner on 33 minutes to open the scoring at a rain-sodden Elland Road before Bruno Fernandes doubled his side’s lead with a header of his own on the stroke of half-time.
Teenage striker Elanga sealed United’s victory when Fernandes set him up for a calm, slotted finish on 88 minutes.
Leeds remain just five points above the relegation zone in 15th place.
United interim boss Ralf Rangnick named three changes from the side that beat Brighton & Hove Albion on Tuesday, with midfielder Jesse Lingard starting for the first time since being denied a move away from Old Trafford in the January transfer window.
The game was briefly stopped on 12 minutes when Leeds defender Robin Koch suffered a cut above his eye following a clash with Scott McTominay. The German defender played on with a bandage around his head but was substituted later in the half.
Rangnick’s side did manage to take the lead through Maguire, whose header on 33 minutes marked the first time United scored from a corner in over a year.
Fernandes added a second when he met Sancho’s floated cross with his head, sending United into the break with a comfortable lead.
But the second half looked to spurn a familiar tale for United, who have been dogged by sluggish second-half performances since Rangnick’s arrival.
Leeds enjoyed some good fortune when Rodrigo’s cross soared over goalkeeper De Gea to cut United’s lead in half.
Less than a minute later, Raphinha completed his side’s comeback by converting James’ cross at the back post. The Video Assistant Referee (VAR) reviewed the goal for a potential foul in the build-up but awarded the goal.
Rangnick made a double substitution on 67 minutes, bringing on Fred and Elanga, and the move paid immediate dividends — first, Fred put United back in front on 70 minutes before Elanga added a fourth put paid to any hopes of another Leeds comeback.