An early goal from Marcus Rashford proved to be the difference between the two sides as Ole Gunnar Solskjaer registered his ninth win from 10 matches in all competitions since replacing Jose Mourinho.
United move into fifth place in the standings ahead of Arsenal's clash with Manchester City, while Leicester remain in 11th position despite a spirited showing.
Leicester began brightly in the East Midlands with Wilfred Ndidi sending a glancing header off target, but United quickly began to assert themselves and Rashford somehow failed to score with a header from inside the six-yard box after meeting Luke Shaw's cross.
However, the England international quickly redeemed himself by putting United into the lead. Ricardo Pereira passed the ball straight to Paul Pogba, who instantly sent a volleyed pass through to Rashford who took a touch before drilling the ball into the bottom corner from 12 yards out.
Leicester produced a positive response with only a superbly-timed block from Shaw preventing James Maddison from potentially equalising with just David de Gea to beat, and the home side continued to match United in terms of general play.
Rashford had a driven effort from the edge of the area comfortably saved by Kasper Schmeichel just before half time, but Leicester ended the opening 45 minutes on the offensive with Pereira sending a long-range volley straight at De Gea.
The home side continued to match United after the restart with Claude Puel's men keeping their opponents on the back foot, but they were still struggling to create anything meaningful in front of goal.
Rashford pulled a shot wide of the post from distance at the other end, before Leicester briefly threatened with Jamie Vardy seeing an overhead kick kept out by De Gea.
Maddison was hauled off by Puel shortly after the hour mark - a move which was greeted by a chorus of boos from the home supporters - but the withdrawal of Manchester United's Alexis Sanchez was expected with the Chilean failing to impress on his return to the starting lineup.
Leicester's best efforts continued to come from distance and shortly after Barnes had curled marginally wide of the far post, De Gea had to tip a 25-yard free kick from Rachid Ghezzal away from the top corner.
The Foxes finally created a clear-cut opening inside the area with nine minutes remaining, but Evans missed his kick when provided with the opportunity to get his side back on level terms from in front of the penalty spot.
Romelu Lukaku kept Leicester honest at the other end with a decent strike from distance which was saved by Schmeichel, but the hosts broke forward through Barnes and Vardy should have done better from 15 yards when being teed up by the impressive youngster.
Anthony Martial had the chance to wrap up the points for United in the final minute of normal time but Schmeichel made a timely block, and Leicester created one final opportunity to register a deserved equaliser.
A ball into the penalty area fell to Harry Maguire, but the defender could only direct his shot from around 15 yards out wide of De Gea's post and it proved to be the final action of a hard-fought contest.
LEICESTER CITY (4-2-3-1): Schmeichel; Pereira, Evans, Maguire, Chilwell; Mendy (Iheanacho 84'), Ndidi; Gray (Okazaki 74'), Maddison (Ghezzal 62'), Barnes; Vardy
MANCHESTER UNITED (4-2-3-1): De Gea; Young, Bailly, Lindelof, Shaw; Herrera, Matic; Lingard (Jones 90'), Pogba, Sanchez (Martial 67'); Rashford (Lukaku 78')