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.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport Staff');
ga('pacontentapi.set', 'dimension2', 'fb26920c-24ea-4bd6-ad6f-a3343c9f5768');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Gr-eight win for Villa'});