Port Vale hoped to capitalise on Bristol City's poor away form but with the Valiants suffering from a long injury list victory wouldn't be easy.
The first chance came in the 11th minute when a long angled ball from Tom Doherty found Scott Murray on the right who advanced on goal but blasted wide under pressure from ten yards.
Bristol City hit first in the 18th minute when a long ball from the left by Brian Tinnion found Sam Collins and Peter Beadle jumping in the box, but it was Beadle who headed the ball low inside Mark Goodlad's left post.
The Robins second goal arrived in the 40th minute when a failed tackle by Steve Rowland on Christian Roberts allowed Murray to collect a free ball and hit the shot underneath Goodlad inside the right post from ten yards.
Vale thought they had pulled one back in the 45th minute when Michael Cummins played a ball through the Bristol defence for Ian Brightwell who neatly finished, but he was adjudged to be offside.
Vale did get one back when Brightwell's quick pass inside the box for Billy Paynter allowed him to strike a sweet left-footed shot that zipped into Steve Phillips' net to finish a brilliant move in the 60th minute.
The Valiants never gave up and in the 80th minute a Matt Carragher free-kick caused chaos in the Bristol box, but the ball fell for Cummings who drove the ball in to the keeper's bottom right corner.
A last-gasp effort gave City all three points when a long ball from the Bristol half was collected by Leroy Lita who held off pressure and went on to fire a rocket into Goodlad's net from 14 yards.
Defeated Vale midfielder Marc Bridge-Wilkinson summed up his team-mates' performance and feelings saying: "I was disappointed with the result, we weren't at the races in the first half, we were still in the changing rooms.
"We had more chances in the second half and we thought we had salvaged a point at the end, but their last goal was a bitter blow."