Substitute Saville poked home from close range two minutes after being brought on to move Boro within three points of the play-off places.
Grant Hall had earlier opened his Middlesbrough account with a fine header from a Paddy McNair free-kick to cancel out an early own goal from Anfernee Dijksteel that had given Coventry the lead.
Saville’s strike earned Boro a third win in five games, a run which has put their top-six hopes back on track having slipped off the pace with five defeats in their previous seven.
Coventry, meanwhile, remain just six points above the relegation zone, with all of the bottom three having games in hand on the Sky Blues.
City led with the game’s first chance after 11 minutes as Sam McCallum’s long throw was flicked on by Michael Rose and, with Max Biamou lurking for a tap-in, Dijksteel could only help the ball into his own net.
Boro responded well but Chuba Akpom nodded a far-post corner back across the box when he should have gone for goal and Rose slid in to block a low Marc Bola shot that was heading for the bottom corner. Akpom was booked for a high foot that left Kyle McFadzean needing lengthy treatment and a bandaged forehead before Coventry’s Gustavo Hamer fired wide from 20 yards after a good run.
But Middlesbrough levelled after 41 minutes as McNair whipped in a quality deep free-kick from the right that was begging to be headed home and Hall obliged, back across goal into the far corner.
It was the 29-year-old’s first goal since joining Boro from QPR in the summer, in only his seventh league appearance having missed more than four months with a thigh injury.
Neil Warnock made an attacking triple second-half substitution, bringing on Duncan Watmore, Yannick Bolasie and Marvin Johnson in an attempt to spark the visitors but it was Coventry who then went close.
Matty James saw a promising 20-yard shot deflected wide and Hamer lashed wildly off target after a neat short corner exchange with Fankaty Dabo.
However, Warnock’s fourth change, the introduction of Saville, proved decisive as he was in the right place at the right time after a fantastic run and cross from Jonny Howson ricocheted off a Coventry defender into the midfielder’s path.
Coventry: Wilson, Rose, McFadzean, Hyam, Dabo, Hamer, Kelly (James 71), McCallum, O’Hare, Walker, Biamou. Unused substitutes: Marosi, Allen, Jobello, Gyokeres, Sheaf, Pask, Bakayoko, Shipley.
Middlesbrough: Bettinelli, Dijksteel, Hall, Fry, Spence, Tavernier (Saville 85), McNair, Howson, Bola (Johnson 74), Akpom (Bolasie 74), Kebano (Watmore 73). Unused substitutes: Morsy, Assombalonga, Archer, Mendez-Laing, Fisher.
Referee: G Scott (Oxfordshire).
Support The Yorkshire Post and become a subscriber today. Your subscription will help us to continue to bring quality news to the people of Yorkshire. In return, you’ll see fewer ads on site, get free access to our app and receive exclusive members-only offers. Click HERE to subscribe.