Match ends, Bristol City 4, Sheffield Wednesday 1.
Bristol City moved 10 points clear of the Championship relegation zone as they comfortably saw off promotion-chasing Sheffield Wednesday.
City took the lead when Lee Tomlin's shot hit Wednesday keeper Joe Wildsmith before crossing the line.
Bobby Reid then quickly doubled the lead by firing into the top corner before Tomlin converted a spot-kick.
Jonathan Kodjia scored City's second penalty after the break before Richard O'Donnell's own goal made it 4-1.
O'Donnell was the second of the two keepers to have seen the ball deflect into his own net in a game that has greatly improved City's chances of another season in English football's second tier.
Tomlin, who had to go off at half-time with an injury, was awarded the hosts' opener by the referee despite Owls keeper Wildsmith having the final touch after the City striker's volley deflected off a Wednesday defender.
Reid's second for the Robins came soon after, when he latched onto Luke Freeman's cross after a quick free-kick.
Tomlin was then brought down in the area by Liam Palmer and he converted the penalty himself to make it 3-0 at the break.
Reid was instrumental in City's fourth, when he beat Wildsmith - a late replacement for the injured Kieren Westwood - to the ball and was brought down in the area. Kodjia duly dispatched the resultant spot-kick.
Wednesday netted just after the hour, when Wallace's free-kick struck a post and hit O'Donnell's fingertips on its way into the net.
The Owls remain sixth, five points clear of Cardiff, their nearest contenders for the final play-off position.
Best display since I came - Johnson
Bristol City manager Lee Johnson:
"The lads wanted Monday off, but I said no because it's important we realise the job is not done yet and avoid any complacency creeping in.
"It was a fantastic afternoon for us. Richard O'Donnell made a very important save early on, we got ourselves on the front foot and our game plan worked perfectly.
"Bobby Reid was superb. He has needed to find consistency and has done that in recent games. He scored a goal, won a penalty, and had a really positive effect.
"I rate Sheffield Wednesday highly. We had to be strong in all areas, so I think it was the best display since I took the job."
Sheffield Wednesday head coach Carlos Carvalhal:
"It was a day off for us in the Championship. It is a long competition and you get accidents along the way.
"We started strongly, moving the ball well and creating good chances. The players thought it was going to be easy and their heads went into the clouds.
"It was hard to understand the first half. After the second goal we lost control of the game and Bristol deserved to be three goals up
"The second half was different. Again they scored from their first attack, but we were more like ourselves. We should have had a penalty when Marco Matias was fouled and kept fighting to the end."
- 4FlintBooked at 73mins
- 14ReidSubstituted forOdemwingieat 71'minutes
- 9TomlinSubstituted forWagstaffat 45'minutes
- 22KodjiaSubstituted forAgardat 83'minutes
- 21LópezSubstituted forLucas Joãoat 45'minutes
- 37McGeadySubstituted forWallaceat 45'minutes
- 9NuhiuSubstituted forMatiasat 57'minutesBooked at 79mins
- 18Lucas João
- Charles Breakspear
- Shots on Target
Second Half ends, Bristol City 4, Sheffield Wednesday 1.
Foul by Michael Turner (Sheffield Wednesday).
Peter Odemwingie (Bristol City) wins a free kick on the right wing.
Offside, Sheffield Wednesday. Daniel Pudil tries a through ball, but Fernando Forestieri is caught offside.
Foul by Ross Wallace (Sheffield Wednesday).
Marlon Pack (Bristol City) wins a free kick in the defensive half.
Attempt saved. Marco Matias (Sheffield Wednesday) right footed shot from outside the box is saved in the centre of the goal. Assisted by Barry Bannan.
Offside, Bristol City. Richard O'Donnell tries a through ball, but Peter Odemwingie is caught offside.
Attempt missed. Tom Lees (Sheffield Wednesday) left footed shot from the centre of the box is close, but misses to the right. Assisted by Ross Wallace with a cross following a corner.
Corner, Sheffield Wednesday. Conceded by Nathan Baker.
Attempt blocked. Daniel Pudil (Sheffield Wednesday) header from the left side of the six yard box is blocked. Assisted by Ross Wallace with a cross.
Corner, Sheffield Wednesday. Conceded by Korey Smith.
Attempt blocked. Barry Bannan (Sheffield Wednesday) left footed shot from outside the box is blocked. Assisted by Lucas João.
Offside, Sheffield Wednesday. Barry Bannan tries a through ball, but Fernando Forestieri is caught offside.
Substitution, Bristol City. Kieran Agard replaces Jonathan Kodjia.
Attempt missed. Fernando Forestieri (Sheffield Wednesday) right footed shot from outside the box is close, but misses to the left. Assisted by Barry Bannan.
Corner, Bristol City. Conceded by Daniel Pudil.
Marco Matias (Sheffield Wednesday) is shown the yellow card.
Foul by Barry Bannan (Sheffield Wednesday).