West Ham kept their Champions League hopes alive with a 2-1 victory over Aston Villa, earned through second-half goals from Andriy Yarmolenko and Pablo Fornals.
Villa fashioned the first opening of the contest inside four minutes when Philippe Coutinho robbed Aaron Cresswell of possession. The Brazilian poked it through to Matty Cash, but the full back's cross came at Danny Ings too quickly infront of the goal.
The Hammers responded with a chance of their own. Michail Antonio breezed past Calum Chambers before pulling the ball back for Pablo Fornals, but his low shot towards the far corner trickled wide.
The away side threatened the West Ham goal again in the 20th minute. Jacob Ramsey burst through three Hammers defenders on the edge of the penalty area and squared to Coutinho, although Lukasz Fabianski was on hand to smother the danger.
Cresswell then created another dangerous opening for the home side. His whipped delivery was met by Tomas Soucek at the front post, but the Czech glanced his header wide.
Coutinho drew gasps from the visiting Aston Villa supporters just after the restart when he drove forward. West Ham failed to close him down and his effort was drilled just wide of the post.
In a game littered with injury stoppages, David Moyes was left cursing his luck when Michail Antonio was forced off with a knee problem just before the hour mark, before the dangerous Cresswell had to be replaced after he was clutching his hip.
Fabianski was called into action again when Danny Ings reacted first after his glancing header from a corner pinballed around the penalty box. The former Southampton man lashed his effort towards goal, but the Pole got down to thwart the danger.
However, the best chance of the afternoon until that point fell to Craig Dawson minutes later. Kurt Zouma met Fornals' corner and when Emiliano Martinez parried the save straight to the Hammers defender, he contrived to nod it over from close range.
West Ham's endeavour paid off, and it couldn't have come from a better source. Benrahma's cross cut straight through Villa before Andriy Yarmolenko - who replaced the injured Antonio - controlled it and fired the ball under Martinez with the outside of his boot.
The Hammers then killed the game off with eight minutes remaining. Declan Rice fed the impressive Benrahma and when the Algerian pulled the ball across goal, Fornals was rushing in to lash the ball beyond Martinez.
There was time for a brief rally from the visitors when Emiliano Buendia teed up Jacob Ramsey who finished in stoppage time, but it was too little, too late for Steven Gerrard's side.
Here's how both teams rated.
West Ham player ratings
1. Goalkeeper & defenders
Lukasz Fabianski (GK) - 8/10 - Really smart save to deny Coutinho in the first half, coming up big when the Hammers required him most.
Ben Johnson (RB) - 6/10 - A powerful presence down the right, but he was often left isolated with very few players to combine with.
Craig Dawson (CB) - 5/10 - A couple of ropey moments in the early stages, but he recovered his poise as the game went on. Spurned a great opportunity in the second period.
Kurt Zouma (CB) - 5/10 - Really strong performance, covering excellently for Cresswell on the left hand when he bombed forward.
Aaron Cresswell (LB) - 8/10 - A few hairy moments defensively during the opening exchanges, but he was a consistent attacking threat for the home side. Forced off injured just before the hour mark.
Declan Rice (CM) - 6/10 - The ever-present for West Ham this season, but he can't do everything on his own.
Tomas Soucek (CM) - 5/10 - Effective at breaking into the penalty box from deep, glancing a Cresswell header just wide in the first half.
Manuel Lanzini (AM) - 3/10 - A few bright moments, but he was unusually quiet in picking up the ball.
Pablo Fornals (RW) - 6/10 - Great at finding pockets of space, punishing Villa with eight minutes remaining to double West Ham's lead.
Michail Antonio (ST) - 3/10 - Struggled to get involved in proceedings and was forced off with a knee injury just before the hour mark.
Said Benrahma (LW) - 9/10 - A lively presence, constantly looking to receive and move West Ham into dangerous areas. Teed up both goals for the Hammers.
Andriy Yarmolenko (ST) - 8/10 - A wonderful moment for the Ukrainian, finishing deftly under Martinez after Benrahma's cut-back.
Ryan Fredericks (RB) - 5/10 - Replaced the injured Cresswell, which limited West Ham's attacking threat on the flanks.
Issa Diop (CB) - N/A
Aston Villa player ratings
5. Goalkeeper & defenders
Emiliano Martinez (GK) - 6/10 - Stood tall when required, but coud do little to prevent both West Ham goals.
Matty Cash (RB) - 6/10 - A menace for Cresswell to contend with on the flanks, constantly positioning himself high to force West Ham back.
Calum Chambers (CB) - 6/10 - Has proven a shrewd addition from Arsenal in January. He contained threat of Antonio well before the striker went off injured.
Tyrone Mings (CB) - 7/10 - The Hammers are typically dangerous from set pieces, but the England international was usually on hand to thwart that danger.
Lucas Digne (LB) - N/A - Forced off inside ten minutes through injury.
Douglas Luiz (CM) - 6/10 - The lynchpin of this Villa side, constantly recycling the ball and allowing his side to establish long spells of possession.
John McGinn (CM) - 6/10 - Held his own in the midfield battle against an athletic Hammers midfield, although he lacked purpose on the ball.
Jacob Ramsey (CM) - 8/10 - Showed great strength to hold off three West Ham defenders to tee up Coutinho in the first half, underlining his impressive talent. Reduced the deficit in stoppage time.
Philippe Coutinho (AM) - 7/10 - Has lit up the Premier League since he returned in January and, alongside Ramsey, he looked Villa's most dangerous player.
Ollie Watkins (ST) - 5/10 - Had few sightings of goal, often doing the running for Ings.
Danny Ings (ST) - 6/10 - Denied by a smart stop from Fabianski after the ball pinballed around the penalty box from a corner.
Ashley Young (LB) - 5/10 - Replaced the injured Digne and offered good energy, albeit Villa concentrated their attacks down the opposite flank.
Leon Bailey (RW) - N/A
Emi Buendia (AM) - N/A