Second-half goals from Wayne Rooney and Cristiano Ronaldo kept Manchester United at the top of the table.
Rooney and Ronaldo rescued Manchester United late on
United were not at their best and were given a stern test by Reading who could have taken the lead had Dave Kitson lobbed over Edwin Van der Sar.
But with 13 minutes remaining, Reading switched off, leaving Rooney to cushion home Carlos Tevez's cross.
Reading pressed for an equaliser, but as another attack broke down, Ronaldo burst upfield and coolly slotted home.
The Portuguese was far from his blistering best, but still managed to notch his 23rd goal of the season - already equalling his tally from the whole of last season.
United, who head to Saudi Arabia for a five-day training camp after this match, were given a thorough examination by the Royals who were eventually undone by a move of pure class.
Reading boss Steve Coppell, who made 320 league appearances for United, opted for a bold, attacking line-up and his ambition was almost rewarded.
With Reading's two backline stalwarts, Ibrahima Sonko and Andre Bikey on Africa Cup of Nations duty, Kalifa Cisse was charged with containing Tevez and Ronaldo.
The lofty centre-back was immense as he outmuscled the Argentine, while his partner Ivar Ingimarsson - until Rooney's goal - admirably marshalled the England striker.
Reading were made to defend for large parts, but they were a constant threat on the break with Leroy Lita and Kitson linking well and creating decent chances.
Fine work down the left from Lita set up Kitson who, with Van der Sar grounded, failed to get his shot off before Nemanja Vidic slid in to prevent the striker from shooting.
Ronaldo then jinked in from the right and crashed a left-foot shot low past the post, while the returning Owen Hargreaves forced a fine fingertip save from Marcus Hahnemann from a free-kick from 25 yards.
Ronaldo gave Hahnemann no chance for the second goal
Ryan Giggs came on at the break and his introduction almost brought United the opener.
The Welshman's corner was flapped at by Hahnemann and Cisse had to make a heroic hooked clearance off the line to deny Vidic.
United began to dominate and Reading were forced to rely on sporadic counter-attacks, although Kitson should have lofted his close-range shot over Van der Sar when clean through.
United's pressure soon told and with 13 minutes remaining, Rooney took his chance under the gaze of England boss Fabio Capello by superbly guiding Tevez's clipped pass into the bottom corner.
James Harper broke from midfield and almost equalised only to drag his effort narrowly wide.
Three minutes into injury-time, as Reading surged forward for an unlikely leveller, Ronaldo broke up the attack and surged upfield before slotting in.
Reading manager Steve Coppell:
"We put an awful lot into the game and tested them to the end. But the quality of Wayne Rooney and Cristiano Ronaldo proved too much.
"We had a real go at them and although it looks like a routine 2-0 victory, it certainly wasn't that.
"We didn't want to sit back and we often feel our best defence is to attack and it almost paid off today."
Manchester United boss Sir Alex Ferguson:
"We had a number of chances in last third but we started to worry that we weren't going to get the goal.
"Credit to Reading who never stopped working and really made us work.
"It was a really open match. Our own attacking play wasn't at its best and more care was needed up front. We scored at the right time and held on."
Reading: Hahnemann, Murty, Ingimarsson, Cisse, Shorey, Doyle, Hunt, Harper, Convey (Matejovsky 80), Lita (Long 83), Kitson.
Subs Not Used: Federici, Rosenior, De la Cruz.
Man Utd: Van der Sar, Brown, Ferdinand, Vidic, Evra, Ronaldo, Carrick, Hargreaves (Nani 70), Park (Giggs 46), Rooney, Tevez (Fletcher 81).
Subs Not Used: Kuszczak, O'Shea.
Goals: Rooney 77, Ronaldo 90.
Ref: Steve Bennett (Kent).
BBC Sport Player Rater man of the match: Manchester United's Cristiano Ronaldo 8.53 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.