Lowly Huddersfield stopped the rot to ease their relegation fears with a 2-1 win over play-off chasing Bristol City.
Danny Cowley’s troubled Terriers had frustratingly gone three games without a win in the Sky Bet Championship.
Famara Diedhiou pulled a goal back in the 89th minute but it was too little, too late for the visitors.
Victory moved the West Yorkshire team up to 19th, five points clear of the drop zone.
However, defeat put a dent in the Robins’ play-off bid – three points now stand between them and a place in the coveted top six.
The Terriers burst out of the blocks as they put Lee Johnson’s Robins under pressure.
The first chance of the game fell to Arsenal loanee Emile Smith Rowe but he could only fire wide.
Former Leicester wing-back Danny Simpson blasted over the bar after the visitors did well to throw themselves in the way of shots from Lewis O’Brien and Willock.
Then veteran striker Fraizer Campbell could not get on the end of Grant’s teasing ball across the face of goal.
Campbell did have the ball in the back of the net – after Willock’s strike was well kept out by Daniel Bentley – but the linesman’s flag cut home celebrations short.
But Willock bagged his first goal for the club to hand the hosts a deserved lead in the 39th minute with an impressive strike, after being picked out by Smith Rowe.
However, the Robins came close to equalising on the stroke of half-time when Diedhiou rattled the post.
City were the aggressors after the restart as they desperately tried to get back into the game.
Diedhiou could not quite manage to test Jonas Lossl after meeting Jamie Paterson’s cross with his head – and against the run of play the hosts doubled their lead.
Smith Rowe was hauled down by Nathan Baker and Grant made no mistake from 12 yards.
Former Huddersfield striker Nahki Wells, who has scored just once since joining the ranks at Ashton Gate, dragged a shot wide at the other end.
Bentley pulled off a fine save with his legs to keep out Grant’s deflected effort, with Smith Rowe squandering the rebound.
Grant showed some dazzling footwork to beat three Robins’ defenders to drive into the box, before firing just wide of the target.
Bentley then produced a smart stop to keep out Smith Rowe, with O’Brien inexplicably putting the rebound wide from two yards out.
Diedhiou made no mistake after Lossl parried Jay DaSilva’s shot into his path – but the hosts held firm for a vital three points.