The Boy Blues should have been well in command by half time, but had to be content with a John Guidetti spot kick after 20 minutes when Jeremy Helan was brought down for a stonewall penalty.
The visitors levelled five minutes into the second half with a scrappy goal from City’s point of view, but Andy Welsh’s side continued to play their passing game and eventually regained the lead.
It took until the 85th minute, but Omar Elabdellaoui, back from international duty, kept his composure after a long ball reared over the centre half and then calmly lobbed the goalkeeper.
City, with centre-half Sean Tse playing his first game in eight months after a cruciate knee injury, should have seen the game out but suffered a lapse of concentration at the death.
Academy manager Welsh, who gave Norwegian Under-17 international left-back Kim Skogsrund his debut, still found plenty of positives from an encouraging team display.
He said: “Our performances this season haven’t always been reflected in the results, and this was one of those games. We dominated, particularly in the first half, but didn’t take our chances. But everybody was delighted to see Sean Tse back in action, that was a real highlight.”