The Hull striker marked his 44th senior international cap with his 11th goal for Ireland in record goalscorer Keane’s absence, but should really have been leaving the Aviva Stadium with the match ball.
Long capitalised on an eighth-minute error by Chelsea defender Branislav Ivanovic to give the home side a deserved lead, but then passed up two glorious opportunities to add to his tally with playmaker Wes Hoolahan terrorising the visitors’ defence.
Long twice shot straight at keeper Vladimir Stojkovic on the half-hour and then fired harmlessly wide eight minutes after the restart to let Serbia off the hook, and they were to take full advantage.
Ljubinko Drulovic’s men had levelled three minutes into the second half when James McCarthy bundled the ball into his own net with his defence in tatters.
But there was worse to come for the home side on the hour when Filip Dordevic found himself in the right place at the right time to win it from close range.
Dordevic’s effort ensured O’Neill’s unbeaten run came to an end at the third time of asking on a night when he took the opportunity to have a look at the depth of his squad.
He cannot have failed to be impressed by Hoolahan, whose 61 minutes on the pitch were packed with the kind of intelligence and a craft which prompted such consternation at Giovanni Trapattoni’s repeated refusal to select him.
In truth, the visitors were good value for their victory after a shaky start, and it was they who looked the more likely to add to their tally as time ran down.
O’Neill had charged his players with the task of taking the game to Serbia while paying attention to their defensive duties, and he must have been delighted with what he saw in the opening exchanges.
Ireland thought they had taken the lead with less than two minutes gone when Hoolahan played the ball out to McClean and then made it into the middle to latch on to skipper-for-the-night Glenn Whelan’s volley towards the far post.
Had the Norwich man not touched the ball, it would probably ended up in the back of the net anyway, but his celebrations were cut short by an offside flag despite replays suggesting midfielder Dusan Basta had played him on.
The Republic, however, did not have to wait too much longer to go ahead, although it was a rare slip by Ivanovic which gave them their opportunity.
Long chased down a long clearance and managed to hold off defender Milan Bisevac as Ivanovic attempted to feed the ball back to Stojkovic. However, the defender left his back-pass well short and Long calmly side-footed over the keeper to open the scoring.
Serbia might have been level with 21 minutes played had McCarthy not managed to clear Ivanovic’s header off the line, but Long should have doubled his tally on the half-hour after Hoolahan carved the visitors open once again.
His astute pass put the Hull man in on goal, but he was unable to beat Stojkovic with either of two attempts.
Forde had to be equally resilient five minutes before the break to claw away Dusan Tadic’s swinging effort, but Ireland did not heed the warning and were pegged back within three minutes of the restart.
Aleksandar Kolarov was the architect and he and Tadic exchanged passes on the edge of the box before the Manchester City man crossed for Dordevic, only for McCarthy to get there first and bundle the ball into his own net.
Long passed up another glorious opportunity five minutes later after Hoolahan had caught the Serb defence square once again, but this time he tried to chip Stojkovic and only succeeded in steering his effort wide.
Ireland were made to pay for their profligacy on the hour when substitute Zoran Tosic’s mishit shot fell perfectly for Dordevic, who stabbed it past Forde to give his side the lead for the first time.