An early penalty from Nenad Milijas proved the difference between the sides as the Serbians opened up a five-point gap over France, who have a game in hand. Things could have been different for Austria if Stefan Maierhofer's 10-yard strike in the opening minute had not fallen inches wide.
And the hosts responded with the opening goal after seven minutes. Defender Martin Stranzl was penalised for a trip on Danko Lazovic, and Red Star Belgrade skipper Milijas coolly slotted home from the spot. Nemanja Vidic was the next player to catch a sight of goal for Serbia but the Manchester United defender directed his header over the crossbar on 11 minutes.
The rest of the half was a tense affair devoid of chances, but Austria enjoyed a lively start to the second half and could have levelled in the opening minutes. Again the chance fell to Maierhofer, who this time saw his shot cleared off the line by substitute Antonio Rukavina, who had come on for the injured Vidic at half-time.
Serbia battled hard to add to their lead but were unfortunate to see Bosko Jankovic hit the post with his 59th-minute free-kick. The visitors were also denied by the woodwork after 77 minutes when Marc Janko struck the crossbar with a fierce 25-yard strike.
It set up a nervy finish for Serbia, but the defence hung on for their fifth victory in qualifying.