Two late goals by Leroy Lita sank Manchester City to extend Reading's impressive start to 2007.
Leroy Lita celebrates putting Reading ahead
Lita, who earlier had a goal wrongly disallowed, ran on to Steve Sidwell's pass to put the Royals ahead and added an almost identical goal soon after.
Reading also hit the bar when Sidwell's cross deflected off Dietmar Hamann - but City had their own chances too.
Joey Barton shot straight at Marcus Hahnemann while Darius Vassell blasted over the bar from close range.
Steve Coppell's side have not lost since their previous visit to Manchester, on 30 December, when they were beaten 3-2 by City's neighbours United.
The Royals' form since has taken them into the Uefa Cup reckoning - while City have gone in the opposite direction after a promising festive period.
With just one win in their previous five Premiership games at Eastlands, the home side desperately needed a convincing start here.
However they almost handed Reading the lead after a mix-up between Richard Dunne and Nicky Weaver that also led to the City keeper being forced off with an injury.
The pair collided when trying to deal with Ivar Ingimarsson's long ball and Dunne had to hook the ball clear with Lita lurking.
If City rode their luck on that occasion, they had referee Howard Webb to thank for keeping the score level soon after.
Lita turned in Stephen Hunt's header at the far post but TV replays showed Webb was wrong to rule Ingimarsson's cross had gone out of play.
City have scored only 19 league goals so far this season and showed why when they spurned two golden opportunities either side of half-time.
First Barton shot straight at Hahnemann after the Reading keeper spilled Georgios Samaras' shot.
And Vassell wasted another great chance after the restart, skying his shot over the bar when it looked easier to score from DaMarcus Beasley's cross.
Reading were creating little at this stage but were almost gifted a goal when Sidwell's cross hit Hamann and back off the bar.
City still looked in control however - until Lita made his mark on the game with devastating effect in the closing minutes.
The home side were pressing forward but, when an attack broke down, Sidwell quickly fed Lita who made no mistake with a precise finish into the bottom corner.
And minutes later it was 2-0 when James Harper slid the ball through for Lita to slot into the opposite corner and seal the points for Coppell's side.
Manchester City manager Stuart Pearce
"We know full well how quickly things can change in the Premiership.
"One defeat can become two or three - it is the same with victories.
"We have to make sure that we are very hard to beat and also that we go flat out in the game."
Reading manager Steve Coppell
"I am not really worried about artificial points targets being attained.
"We have to finish as high as we can and forget about anything else. We are a team very much with the L-plates on.
"Sometimes you can find in situations like these you do not know who you are playing so you are not afraid of it."
Man City: Weaver (Isaksson 35), Richards, Dunne, Distin, Trabelsi, Beasley, Dabo (Hamann 48), Barton, Ireland, Samaras (Sturridge 74), Vassell.
Subs Not Used: Jihai, Corradi.
Reading: Hahnemann, Murty, Shorey, Bikey, Ingimarsson, Harper, Sidwell, Little (Oster 80), Hunt, Lita, Long (Kitson 75). Subs Not Used: Federici, De la Cruz, Duberry.
Goals: Lita 79, 89.
Ref: H Webb (S Yorkshire).