Northern Ireland's hopes of making the Euro 2012 finals are fading after a Steven Davis blunder gifted Serbia victory in the Belfast rain.
Serbia dominated the first half and former Liverpool midfielder Milan Jovanovic hit the crossbar.
Corry Evans headed wide as the hosts improved but Marko Pantelic netted on 67 minutes after intercepting a poor Davis backpass to keeper Lee Camp.
Jonny and Corry Evans were booked and now miss Tuesday's game with Estonia.
Chris Brunt's fifth minute shot was easily saved Bojan Jorgacevic and this was Northern Ireland's only serious effort on goal in a poor first-half display.
Serbia were a class apart, despite having no support in Windsor Park after their fans were banned from away games in the wake of violence at the abandoned qualifier against Italy.
However, the visitors failed to make their domination count after wasting a series of opportunities.
Jovanovic came closest, his deflected strike off Aaron Hughes on 13 minutes clipping the top of the crossbar.
Lee Camp came to the rescue a minute later, diving low to push out Aleksander Kolarov's curling shot from 12 yards.
Zdravko Kuzmanovic, Dejan Stankovic, Marko Panetlic and dangerous winger Zoran Tosic all squandered chances as the hosts hung on.
Slobodan Rajkovic was booked for a dangerous tackle on David Healy just before the break - on other nights it could have been red.
Northern Ireland were a transformed team at the start of the second half, playing with urgency and an attacking intent which was nearly rewarded on 50 minutes.
The chance fell to the unmarked Corry Evans, meeting his brother Jonny's cross but from eight yards he headed wide.
There was more disappointment for Corry Evans two minutes later when a rash challenge resulted in a yellow card and a suspension for the qualifier in Estonia.
Serbia were still dangerous and Camp made another fine save before calamity struck the men in green.
Rangers midfielder Davis underhit a backpass to Camp, the alert Pantelic nipped in and rounded the keeper before slotting into an empty net.
Jovanovic almost doubled the lead when his fierce shot was tipped over by Camp.
The goal failed to trigger a response from Northern Ireland and Jonny Evans picked up a yellow card in injury time to join his brother in being banned for the Estonia game.
Northern Ireland have slipped to fifth in Group C but they remain just two points off the play-off position with three games left.
Northern Ireland: Camp, McAuley, Cathcart, Hughes, J Evans, Baird, C Evans (McGinn 59), Davis, McCann (Feeney 71), Brunt, Healy (McQuoid 84).
Subs not used: Taylor, McGivern, Hodson, Gorman
Booked: McCann, C Evans, J Evans.
Serbia: Jorgacevic, Rajkovic, Ivanovic, Subotic, Kolarov, Z Tosic (Ljajic 79), Stankovic, Ninkovic (Petrovic 74), Kuzmanovic (Fejsa 89), Jovanovic, Pantelic.
Subs not used: Kahriman, D Tosic, Bisevac, Despotovic.
Booked: Ninkovic, Rajkovic, Petrovic.
Goals: Pantelic 67
Referee: Thomas Einwaller (Austria)