Four days after securing their place in South Africa as Group Seven winners, the Serbians were beaten by penalties from Mindaugas Kalonas and Marius Stankevicius in either half.
Zoran Tosic netted the visitors' reply, but it was not enough to prevent a second defeat in their pool.
France, already assured of a play-off place, avenged their defeat in Austria with a comfortable 3-1 victory in their final World Cup qualifier which will have eased the pressure somewhat on under-fire coach Raymond Domenech and his players.
Karim Benzema set Les Bleus on their way in the 17th minute and Thierry Henry doubled their tally from the spot 10 minutes later.
Marc Janko pulled one back three minutes into the second half but substitute Andre-Pierre Gignac, who had scored a double against the Faroe Islands on Saturday, restored France's two-goal advantage with a superb strike.
The only blow was the loss of Henry early in the second half with a thigh injury while one of the very few bright spots for the visitors was the appearance of substitute David Alaba, who at the age of 17 becomes Austria's youngest ever international.
Romania wrapped up their World Cup qualifying schedule with a comprehensive 3-1 win over an outclassed Faroe Islands side.
With neither side having anything left to play for, the hosts dominated throughout the match and took the lead in the 15th minute through Iulian Apostol's first goal for his country. Gheorghe Bucur's header midway through the second half doubled Romania's advantage.
Egil a Bo gave the home fans a few jitters six minutes from time, scoring with what proved to be the visitors' only effort on goal all night, but Ionut Mazilu restored the two-goal advantage two minutes from time.
In truth, the match should never have been so close, with Romania enjoying a string of chances but failing to convert.
Romania finished second-bottom of the group on 12 points, with the Faroe Islands rock-bottom with just four.