Ephron Mason-Clark's second-half tap-in put Championship leaders Coventry back to winning ways against a spirited Bristol City.
Coventry's Haji Wright and Bristol City's Sinclair Armstrong both hit the crossbar during an entertaining end-to-end first-half, in which Armstrong also found the target but it was scratched off for a handball.
Mason-Clark however had a simple shot to eventually break the deadlock for the Sky Blues after Bobby Thomas' header hit the post and the Robins failed to clear the rebound.
Coventry keeper Carl Rushworth then kept his side in the lead with a string of impressive saves including denying Fally Mayulu in the closing minutes with his outstretched arm.
The victory ensures Coventry maintain their five-point lead at the top of the table with their seventh consecutive home victory – their best run at the CBS Arena since 2021, while Bristol City drop to 11th.
It was a fast and fierce first 45 minutes, with a flurry of attempts at both ends.
Wright hit the post 16 minutes in as he had Radek Vitek beaten in the Bristol City goal, before Cameron Pring blocked the rebound from Viktor Torp to deny Coventry an early opener.
Armstrong - making his first start for the Robins in five games - saw his own effort hit the woodwork as out of nothing he crashed a shot off the post a few minutes later.
He then collected a cross from the left on his chest, spinning a volleying it powerfully towards goal forcing a quick-thinking save from Rushworth.
At the other end, Wright dragged another effort wide of the post as the Sky Blues pounced again.
Armstrong thought he had the opener before half-time as he followed a header with two shots in succession - the last one crossing the line only for referee Stephen Martin to blow his whistle to disallow it as the Republic of Ireland international had appeared to control the ball with the assistance of his hand.

Carl Rushworth made a string of saves to deny Bristol City an equaliser
Bristol City boss Gerhard Struber had to reshuffle his back three before kick-off with centre-backs Zak Vyner (knee) and George Tanner (ankle) ruled out and Coventry repeatedly tried to exploit things after the break with plenty of crosses into the box.
And it was from a corner that Coventry took the lead. Bobby Thomas struck the post with a header and as the Robins failed to properly clear their lines, Mason-Clark tapped in from close range to make it 1-0.
The visitors however will wonder how they were unable to take anything from the CBS Arena, ending the game with nine shots on target to Coventry's four.
Rushworth had already tipped an Adam Randall header over the bar when he saved an Anis Mehmeti shot with his legs, despite diving the wrong way.
Emil Riis then sent a diving header over the bar from six yards out, Haydon Roberts sliced a shot wide and substitute Mayulu was denied in added time as Rushworth stretched to the bottom corner with the striker looking destined to score.
Coventry City head coach Frank Lampard told BBC Radio CWR:
"To lose a game and draw a game probably put a bit more importance on this, a bit more feeling. People would have been looking at us to see how we reacted against a strong team.
"It was great, the players' attitude from minute one was really good, really sharp and continued that.
"We pushed them back and they're one of the highest pressing teams in the league, highest regains, and we played a lot of the game in their half.
"Absolutely not our best performance but sometimes in the endurance test of a season, you look at all the games, your comfortable wins, the games where you have to fight and dig in for the win - games that give you challenges like that [but you] keep a clean sheet, get a goal and we showed a lot of spirit in the team."
Bristol City head coach Gerhard Struber told BBC Radio Bristol:
"I am really happy how we deal with the opponent today and we was in a really good way but we have to score and this is the difference between them and us - that they can use chances and we have the gap.
"We are so close and we can see we can be with the top team in the league for the most of the time on the same level, but in the most important moments they have this ability and we have also good chances and we should use that.
"Their goalkeeper was on an outstanding level and caught one or other balls that was crazy sometimes. But these are the moments where we have to be super sharp and clinical.
"Sincs and Emil they did today a really good job. Sincs was really dangerous with his forward runs, the timing, also his link up - they created a really difficult game for the defence from Coventry.
"On the same time we have top chances and we have to use it.
"This is the only gap at the moment what I can see; the boys invest a lot, the effort was on an outstanding great level, our possession game, our transition game, against a top team in the league we played on a really high level but we lose this game [as we] have problems to score."