The Sky Blues left it late as Matty Godden came off the bench to give City all three points against Portsmouth.
The striker was introduced in the 82nd minute and took just two minutes to find the back of the net and extend the Sky Blues unbeaten run to nine games.
It took City just five minutes to have their first effort on target as some excellent dribbling from Callum O’Hare nearly got him through on goal, however the ball ricocheted to Liam Walsh who let fly from the edge of the box stinging the palms of Alex Bass.
It was then O’Hare’s chance to try his own luck as he broke out of midfield with the ball and took aim from 20 yards however a deflection sent the effort just past the post.
O’Hare was involved again as he linked up with Fankaty Dabo down the right before playing the ball into Amadou Bakayoko who teed the ball up for Walsh on the edge but the on-loan man couldn’t direct his effort on target.
With 15 minutes to go until half time O’Hare called Bass into action again as Jamie Allen’s run drew away the Portsmouth defence, O’Hare fired a left footed shot towards goal but Bass made a good save above his head and gathered the ball at the second attempt.
Jamie Allen was the next midfielder to try his luck from range as his left footed strike looped over Bass and just over the bar two minutes before the break.
HALF-TIME: Sky Blues 0-0 Portsmouth
Both sides battled for possession in the early exchanges in the first half, with the first chance falling at the feet of Cameron McGeehan, but Kyle McFadzean put his body on the line to make the block.
City continued where they had left off in the first half, as they again looked dangerous down the right and this time it was Dabo who released Allen and he looked for Bakayoko at the back post, but the striker couldn’t quite connect properly and he headed wide.
Portsmouth made a double change and one of those men, Ellis Harrison made an immediate impact as he found space from six yards out, but his shot was expertly saved by Marko Marosi.
The other substitute, Marcus Harness was also involved as he cut inside onto his left and curled a shot at goal from the edge of the area, but he could only curl his shot wide.
Full-back Steve Seddon had the next chance on goal, but after he ran onto a loose ball, he couldn’t keep his shot down and it sailed over the bar.
For all Portsmouth’s chances in the second half it was the Sky Blues who opened the scoring and it would be their own substitute, Matty Godden who was on the end of Callum O’Hare’s through ball to find the bottom corner and make it 1-0.
The visitors tried to find a leveller but they couldn’t beat Marko Marosi who made a great save diving to his left to deny McGeehan and claim all three points for City!
FULL-TIME: Sky Blues 1-0 Portsmouth
Goals: Godden 84'
Yellows: Cameron McGeehan 20’, Ben Close 57'
Attendance: 6,983 (1,523)
Sky Blues XI: Marko Marosi (GK), Fankaty Dabo, Michael Rose, Dom Hyam, Kyle McFadzean, Sam McCallum, Liam Walsh, Liam Kelly (C), Callum O’Hare, Jamie Allen (71' Biamou), Amadou Bakayoko (82' Godden).
Unused subs: Ben Wilson (GK), Josh Pask, Ryan Giles, Zain Westbrooke, Jordan Shipley.
Portsmouth XI: Alex ass (GK), Tom Naylor (C), Christian Burgess, Ryan Williams (63' Harness), John Marquis (63' Harrison), Ronan Curtis, James Bolton, Sean Raggett, Cameron McGeehan, Ben Close, Steve Seddon.
Unused Subs: Craig Mac Gillivary, Lee Brown, Ross McCrorie, Jack Whatmough, Gareth Evans.