Defender Nathan Smith scored his first of the season as the Valiants made it four games unbeaten in League One.
Manager Neil Aspin made two changes bringing in Michael Tonge and Tyrone Barnett for Cristian Montano and David Worrall.
It was a lively opening with Vale beginning strongly but the visitors coming back into the game as the half progressed. Vale had an early chance for Pope and the visitors also had a couple of changes but there were few clearcut opportunities in an even first-half.
Vale made a change at the break with Montano replacing Barnett. The home side started the period brightly with Harness going close with a header but were also grateful for a good save by Boot from McNulty.
The Valiants then failed to take advantage of a mix-up in the Coventry defence and a strong run by Joe Davis also came to nothing. Vale’s pressure finally paid dividends when Nathan Smith converted Harness’ cross to put the home side ahead with ten minutes left.
That strike proved to be the winner and Vale will be full of confidence ahead of their final fixture of 2017 – a tough test against divisional leaders Luton Town.
Vale: Boot, Davis, Smith, Gunning, Pugh, Harness, Tonge, Kay, Whitfield (Denton), Barnett (Montano), Pope
Subs: Lainton, Turner, Forrester, Defreitas, Kelly
Attendance: 7,127 (1,698 away)