Earnshaw thinks he has equalised but his shot is stopped by Krstajic
Wales' hopes of qualifying automatically for Euro 2004 were dealt a blow after they suffered a defeat to Serbia & Montenegro in Belgrade.
A 73rd-minute strike by defender Dragan Mladenovic proved decisive, but Wales had three late chances to force an equaliser.
Substitute Robert Earnshaw saw his shot blocked by a last-ditch lunge, Ryan Giggs had an effort saved and Danny Gabbidon's header flew over the bar from close range.
Wales still lead Group Nine by two points from second placed Italy, but missed a golden opportunity to edge closer to qualification against less than impressive opposition.
73 mins: Mladenovic lashes in a goal for Serbia & Montenegro
80: Earnshaw is agonisingly denied a goal
The home side settled quickly and created the first opening of the match with barely a minute gone when Darko Kovacevic shot wide.
Wales centre-back Robert Page was then forced into a crucial defensive header and the early pressure from Serbia & Montenegro continued as Dejan Stankovic's fierce shot was deflected over the bar Mark Pembridge.
From the resulting corner, Paul Jones pulled off an impressive reaction save from seven yards out as Mladenovic connected with the loose ball.
But, despite the early scares, a disciplined Wales did not concede a goal and the visitors began to frustrate their opponents.
And Wales, playing in Belgrade for the first time in 50 years, had their first sight on goal just before the half-hour mark.
Giggs found time and space for a cross from the left wing, but the ball was just too high for the in-rushing Simon Davies who was unmarked at the far post.
Seconds later, the home side were cursing their luck when Stankovic's 30-yard drive sailed past Jones but rebounded off the post to safety.
The home side continued to look threatening going forward, but Cardiff City's Gabbidon showed composure beyond his five international caps to bring an air of stability to the Welsh defence.
A lethargic and scrappy opening to the second half brought jeers from the home fans and Wales began to wrestle the balance of their match in their favour.
But it was Jones who was forced to make another smart save in the Wales goal when Stankovic again let fly from the edge of the box on the hour mark.
Mateja Kezman then failed to convert a clear opening before Serbia & Montenegro were celebrating a goal.
Mark Delaney seemed to have been fouled while trying to clear a far post corner, but Mladenovic did not hesitate to smash the loose ball into the back of the net for a debut goal.
It was the first time Wales had fallen behind in the qualifiers, and manager Mark Hughes' response was to bring on Cardiff City livewire Earnshaw in place of the ineffective Nathan Blake.
And almost immediately Earnshaw was put clear on goal.
He rounded the on-rushing goalkeeper, but his goal-bound effort was magnificently cleared by a desperate lunge from Mladen Krstajic.
Giggs found space in the box to force a save from the home keeper and then Gabbidon's strong header from a free-kick sailed inches over the crossbar.
Wales finally brought some urgency to their play in closing stages, but failed to break the stubborn Serb defence.
Serbia & Montenegro: Jevric, Dragutinovic, Cirkovic, Markovic,
Mlaznovic, Stefanovic, Gavrancic, Zvonimir Vukic (. Ilic 67),
Kezman, Dejan Stankovic (Predrag Djordjevic 82),
Darko Kovacevic (Milosevic 71).
Subs Not Used: Krastajic, Nenad Djordjevic, Boskovic,
Booked: Zvonimir Vukic, Dejan Stankovic, Jevric, Milosevic.
Wales: Paul Jones, Delaney, Speed, Gabbidon, Page, Pembridge,
Savage, Bellamy, Blake (Earnshaw 77), Davies, Giggs.
Subs Not Used: Crossley, Weston, Williams, Johnson, Koumas,
Referee: Anders Frisk (Sweden).