Goals from Tammy Abraham and Conor Hourihane earned Aston Villa an eighth successive Championship win as they beat fellow play-off hopefuls Bristol City 2-1 at Villa Park.
Abraham broke the deadlock 10 minutes into the second half from the penalty spot - his 24th goal of the season - and Hourihane doubled their lead 11 minutes later.
Bristol City put themselves back into contention with a 74th-minute goal from Famara Diedhiou but it could not prevent the Robins plunging to only their fourth defeat since November.
It was a real promotion play-off dogfight and victory for Villa was achieved despite a pre-match setback when Jack Grealish, the inspiration behind the club's dramatic revival, was ruled out because of illness.
Irishman Glenn Whelan took over as Villa's fourth captain of the season and was quickly involved in setting up several promising attacks.
With so much at stake, Bristol City operated a 3-5-2 formation but there was nothing defensive about their play as demonstrated when the darting Niclas Eliasson fired one effort just wide.
The on-song Robins had an even better chance to open their account when Matty Taylor, at the far post, headed wide from Eliasson's cross.
In an all-action game, it was goalkeeper Max O'Leary who came to Bristol's rescue when he parried a Anwar El Ghazi shot and could only watch as Albert Adomah's header crashed against the bar.
Abraham and John McGinn became entangled near the penalty spot and a golden opportunity was wasted with neither player able to get a shot off.
An isolated Diedhiou, likewise, had a good chance but failed to control the ball in the windy conditions.
But Bristol's hero was goalkeeper O'Leary when he made a point-blank save from a Hourihane header in the 31st minute.
O'Leary continued to thwart Villa at the start of the second half when he made two reflex saves in succession to deny Neil Taylor and Abraham.
He was, however, finally beaten in the 55th minute when Abraham, who missed a spot-kick in the previous game at Rotherham, converted a penalty after Hourihane had been impeded by Jack Hunt.
Boosted by this goal, Villa made a positive attack down the left and Hourihane, put in by Neil Taylor, scooped a left-footed cross-shot past O'Leary in the 66th minute.
But Bristol put Villa under increasing pressure and were rewarded when Diedhiou reduced the arrears in the 74th minute with an over-head kick.
The managers
Dean Smith: "The chances we created were excellent and the only thing missing were more goals. Bristol City contributed to the game and they were always a danger on the counter-attack but it was another worthy win. The penalty was the turning point and it was good to see Tammy Abraham tapping it away after missing one at Rotherham in midweek.
To put in the performance we did against Bristol City in the absence of Jack Grealish and Tyrone Mings made me proud of the players." People say we are a one man team with Jack Grealish but we displayed against Bristol City that this is not the case."
Lee Johnson: "We expect to compete strongly but the key decisions went against us. Villa are a top side with some top quality players but the truth is that we scored a perfectly good goal which was disallowed.
"It was a good Championship game but it was important that the officials were on top of their game which was not the case. We gave the game a good go but I thought we should have been more aggressive."