Reading 2 Manchester City 0
The Royals' second successive victory saw them leap five places to 13th to ease their fears of the drop.
Long made the breakthrough on 62 minutes after side-footing home Kevin Doyle's low cross to become the first Reading striker to score since Dave Kitson struck at Tottenham on December 29.
And Kitson made the points safe two minutes from time with a well-taken goal just minutes after coming off the bench.
It was a deserved win for the home side, whose perilous position had been caused by a run of eight straight defeats.
But City came into the game without a number of key players and suffered a further blow when skipper Richard Dunne was stretchered off with a badly gashed shin.
The most high-profile absentee was Martin Petrov, whose influence on City's success this season is underlined by the club's statistics.
The Bulgaria winger boasts the most assists, shots and crosses for City this season and was conspicuous by his absence in this fixture.
In fact, crosses and shots were generally conspicuous by their absence as both sides struggled to create any real openings in a cagey first half.
City should have broken the deadlock on 25 minutes though when Elano's free-kick was missed by Liam Rosenior and dropped invitingly for Vedran Corluka in front of goal.
But somehow, the Croatia full-back managed to spoon the ball over the crossbar from only a few yards out.
City's selection problems then increased when Dunne was stretchered off after making a crunching tackle to end a rampaging run by his Republic of Ireland international team-mate Stephen Hunt.
Dunne needed nine stitches and forced Sven-Goran Eriksson into another defensive reshuffle.
With full-back Michael Ball already covering in the middle in the absence of Micah Richards, City's back four was given an increasingly wonky look as Corluka was forced to move to centre-back, with substitute Sun Jihai coming on at right-back.
Those defensive frailties were nearly exposed within minutes when Reading's Czech international midfielder Marek Matejovsky, who prodded and probed with his passing from the centre of the park, shot through a crowd of players and prompted a smart save by the alert Joe Hart.
City then had claims for a penalty waved away as Michael Johnson tumbled theatrically under an innocuous tackle from Andre Bikey.
Referee Uriah Rennie added to Johnson's fury by booking the midfielder for diving.
Bikey came close to an opener on the hour when he fired against the crossbar following a John Oster corner, but Reading's breakthrough was not far away.
It came on 62 minutes when Long flicked on a long kick from Marcus Hahnemann, allowing Doyle to outstrip Ball and cross low for Long to neatly tuck away.
Moments later the young Irish striker should have doubled the advantage but headed wide from Oster's cross.
But Kitson ensured there were no late nerves for the home side when he sprinted on to Kalifa Cisse's quick free-kick and cut inside Ball before placing a low left-foot shot beyond the helpless Hart.
Reading's relief was plain to see and the rapid climb up the Premier League table sent them off to their training camp in Spain in buoyant mood ahead of a trip to face Liverpool at Anfield next weekend.