With just nine games left in the Premier League title race, United need only 13 points to lift a record 20th title after rivals Manchester City lost 2-0 against Everton at Goodison Park.
Wayne Rooney scored his 16th goal of the season to secure all three points for the Red Devils. The Royals fought hard but couldn't find the equaliser and edged closer to relegation after going seven points from safety.
Rio Ferdinand, who has been called up for the England squad to face San Marino and Montenegro for the World Cup qualifiers, put in an excellent performance which included the assist for Rooney's goal.
Ferdinand, 34, caught Garath McCleary's poor pass and burst forward clipping Mikele Leigertwood before feeding Rooney. The strikers shot deflected off Alex Pearce and keeper Stuart Taylor had not chance to keep it out.
Sir Alex Ferguson fielded a different line-up with Rooney and Robin van Persie upfront, Danny Welbeck on the right flank while Alex Buttner and Chris Smalling started for Rafael and Patrice Evra. Michael Carrick and Tom Cleverley were given a rest as Ryan Giggs and Anderson made a rare start.
Welbeck and Van Persie created numerous chances throughout the game, but the Dutchman is out of form having gone 10 games without a goal.
The Royals had a chance to equalise when a penalty shout was turned down after Nemanja Vidic pushed Adrian Mariappa inside the box.