Goals from Glenn Murray, Jose Izquierdo and Pascal Gross gave the resurgent Seagulls a much-deserved win against a West Ham side who failed to live up to the levels of which they are capable.
Javier Hernandez's equaliser was the only moment of quality for the Hammers as they lost in the league for the first time since before Christmas.
10,000 – Brighton versus West Ham is the 10,000th match played in @premierleague history. Milestone.— OptaJoe (@OptaJoe) February 3, 2018
Brighton made only one change from their draw at Southampton in the week, with Anthony Knockaert returning to the team in place of Solly March. Leonardo Ulloa was on the bench after returning to the club in January.
Brighton looked a threat every time they came forward, and could have had a penalty when Knockaert's goalbound effort struck the arm of Angelo Ogbonna. It was at point-blank range, but it did clearly hit Ogbonna's arm and Brighton could count themselves aggrieved.
Their sense of injustice intensified a few minutes later when West Ham delivered a sucker-punch of an equaliser. It was a nice goal, with Joao Mario finding Javier Hernandez who waited and waited before finally smashing past Matt Ryan and into the top corner.
Brighton could have restored their lead soon after if Knockaert had shown a little more intelligence. First, he didn't slip in Murray for what would have been an easy chance, and then he failed to capitalise on a Mark Noble error, slicing his effort harmlessly wide.
Knockaert also overran the ball as Brighton sought to take advantage of a good counter-attacking opportunity, and West Ham would have been pleased to get in at half-time with a share of the spoils that they barely deserved.
HT: All square at the break after Hernandez cancelled out Murray’s early opener for the Seagulls. Duffy made a crucial clearance off the line and Knockaert had a penalty claim turned down. #BHAFC 1 #WHUFC 1 #BHAWHU pic.twitter.com/ncvZ1jf9Y8— Brighton & Hove Albion ⚽️ (@OfficialBHAFC) February 3, 2018
The second-half started in much more even fashion than the first, but again it was Brighton who drew first blood.
A corner was only half-cleared
Brighton saw the game out with ease as West Ham's challenge faded, and they really should have won by more. Substitute Beram Kayal's shot-on-the-turn was pushed away by Adrian, with Solly March skying over on the follow-up.
But that could not spoil Brighton's day, and a jubilant Amex crowd serenaded their team to the end as they moved three points clear of the relegation zone.