Sheffield United's promotion charge suffered another setback as they slipped to defeat at the Ricoh Arena.
First-half goals from Gary McSheffrey and Dele Adebola were enough to earn three points for the Sky Blues.
Sheffield United, with only one win in their last six games, showed their intentions before the game even started by naming three strikers and no substitute goalkeeper on the bench.
But it was Coventry who had the first chance of the game as Richard Shaw's hopeful ball forward saw Adebola spring the offside trap in the second minute.
The forward, starting his 100th game for the Sky Blues, ran more than 30 yards towards goal before shooting wide.
But three minutes later Coventry were in front.
A long ball from Dennis Wise was weakly headed back to goalkeeper Paddy Kenny by Blades captain Chris Morgan.
McShreffrey, returning from a two-match ban, read the situation and the 23-year-old nipped in to score his 14th goal of the season with his left foot.
Danny Webber almost drew United level as his blistering pace saw the former Manchester United ace beat Robert Page before shooting just over the top with Marton Fulop beaten.
Desperately searching for an equaliser, Sheffield United started to turn on the pressure but Coventry doubled their lead against the run of play in the 32nd minute.
Michael Doyle played in left-back Marcus Hall and Adebola superbly volleyed home his cross for his 10th goal of the season.
Robert Kozluk replaced the ineffective Garry Flitcroft at half-time and the change sparked the United into life.
Webber in particular looked lively and he teed up a chance in the 47th minute for Chris Armstrong but his shot went wide.
United threw on Steve Kabba and Geoff Horsfield in an attempt to get something from the game.
Phil Jagielka almost got them back in the game in the 72nd minute but his shot went agonising wide after more good build-up play from Webber.
United continued to dominate the game but Coventry held on to remain unbeaten at home for 12 games.