Reading climbed out of the Barclays Premier League relegation zone with a 2-0 win over Manchester City at Madejski Stadium.
Ireland forward Long - with newly-appointed international assistant boss Liam Brady watching from the stands - ran half the length of the field to get on the end of a cutback from Kevin Doyle just after the hour which gave the home side a deserved lead.
A fine late solo effort from substitute Dave Kitson ensured a second straight victory for the Royals, which lifts them up into 13th place and puts daylight between them and the bottom three.
City lost captain Richard Dunne to a leg injury, which needed nine stitches, and also had a strong penalty shout turned down by referee Uriah Rennie.
Irish centre-back Dunne was injured after a tackle from his international team-mate Stephen Hunt.
With their rivals United crashing out of the FA Cup to Portsmouth, it now seems certain only a fifth-place finish would guarantee City European football next season.
However, with now just one win from the last eight - ironically at Old Trafford - those dreams have been left hanging by the balance and could yet see Sven-Goran Eriksson enter his men into the Intertoto Cup during the summer.
Reading, though, now have fate back in their own hands once again as they look to retain a place among the elite sides of English football for another season.
The game's first chance came when Benjani Mwaruwari found some space and skipped clear into the right side of the Reading box. However, his final touch was too heavy, which took the ball into the hands of keeper Marcus Hahnemann.
A deep cross from John Oster then picked out Hunt at the far post, but his looping header was safely collected by City keeper Joe Hart.
The visitors almost snatched the lead after 24 minutes. A free-kick from the left touchline was sent over by Elano and bounced through to Vedran Corluka.
The Croatia defender was perhaps caught out by the unexpected chance - and could only guide the ball over the bar from five yards with his knee.
Benjani should have done better when he met Darius Vassell's cross at the far post, but headed tamely at the keeper.
City were forced into a change after 30 minutes when Dunne had to be taken off on a stretcher, replaced by Sun Jihai, after an awkward fall following a challenge with Hunt left him with a twisted knee and also a gash in his shin.
Kevin Doyle - another Irishman hoping to impress - flicked on a corner from Hunt at the near post, but the ball flew behind.
Long then also went close, this time with a backward header from Oster's left-wing free-kick.
Midfielder Marek Matejovsky drilled in a low, angled shot from the right edge of the penalty area, which Hart kept out with a fine reaction save.
At the other end, Michael Johnson weaved into the Reading box, and looked to have been tripped by Royals skipper Ivar Ingimarsson. However, referee Uriah Rennie was having none of it - and promptly booked the City man for what he saw as a dive.
City had the first chance of the second half but Gelson Fernandes' shot from 25 yards was straight at Hahnemann.
Elano was then given space on the left, and his low strike from distance was only just wide.
But Long just failed to connect with a deep ball from the right into the six-yard box at the other end - and the hosts continued to press.
From a corner Andre Bikey managed to get into space at the near post and slammed the ball goalwards, which Hart pushed onto the bar from point-blank range.
Reading, however, were soon in front when Long tapped in from five yards following Doyle's good work.
The atmosphere inside the Madejski Stadium was tense as the match entered the final 10 minutes.
Long was given a rest when Reading sent on Dave Kitson.
And the Reading substitute made sure of victory with a fine solo effort in the 88th minute when he cut in from the right before slotting into the bottom corner from 10 yards.