Mile Jedinak's second-half penalty was enough for Crystal Palace to see off West Ham 1-0 in the Premier League and equal a club record.
Palace completed a double over their fellow Londoners, having triumphed by the same scoreline at Selhurst Park earlier in the campaign, with a fifth consecutive top-flight win – a run on a par with their previous best mark, set in December 1992.
Jedinak, an ever-present in the league this season, netted his maiden Premier League goal with aplomb after Pablo Armero had fouled Cameron Jerome.
Until that point, West Ham had crafted the clearer openings but centre-forward Andy Carroll passed up chances to press his claims for a place in England's FIFA World Cup squad.
Palace are now mathematically safe from relegation with three games of the season remaining, while West Ham should have already done enough as they lie seven points clear of the bottom three.
Before kick-off, Upton Park paid poignant tribute to young West Ham forward Dylan Tombides – the 20-year-old who died on Friday following a three-year battle with testicular cancer.
Tombides wore squad number 38 and fans later stood to applaud throughout the 38th minute of the match.
West Ham captain Kevin Nolan, back from the hamstring strain that kept him out of the midweek defeat at Arsenal, hooked an eighth-minute cross to the back post where Carroll headed over under pressure from Adrian Mariappa.
Carroll was soon involved at the other end, clearing off the line to deny Kagisho Dikgacoi a first Premier League goal from Yannick Bolasie's corner.
Mariappa, who played in a protective mask having sustained a broken nose in Palace's 3-2 win at Everton last time out, drilled goalwards from a cleverly worked 19th-minute set-piece.
His shot appeared to strike Nolan on the arm, but no penalty was given and referee Martin Atkinson was similarly unmoved after 32 minutes when Jedinak bundled Carroll to the floor.
In between those two incidents, Julian Speroni tipped over a rasping drive from Mohamed Diame and the Crystal Palace goalkeeper superbly denied Diame and Carroll from close range in quick succession as West Ham ended the half on the front foot.
Carroll pulled a 50th-minute shot wide of the near post having collected Stewart Downing's left-wing cross and the striker was then denied by Damien Delaney's last-ditch block.
Yet it was Palace who broke the deadlock from the spot in the 59th minute.
Having survived a penalty claim from Bolasie earlier in the half, Armero was not afforded another reprieve as he sent Jerome clumsily to ground and Jedinak dispatched the resulting penalty emphatically.
The visitors then swarmed forward with intent and wingers Bolasie and Jason Puncheon both had chances to extend Palace's advantage.
A second away goal proved elusive, while West Ham substitute Joe Cole twice blasted off target inside the final 10 minutes, but it was a satisfactory win for Tony Pulis and his team to conclude a week dominated by accusations of team-leaking ahead of their recent win at Cardiff City.
|Coach: S. Allardyce|
for M. Jarvis 70'
for S. Downing 78'
for K. Nolan 85'
|Leverkusen cannot challenge Bayern, says Ballack|
|Pallotta blasts ´disgusting´ referee after Roma defeat|
|Badstuber taking his time after injury nightmare|
|Conte: Terry return between him and Allardyce|
|We beat Bayern to Dembele - Watzke|
|Wanderers bring back Bulut|
|Moyes rules out Kone exit|
|CONCACAF Champions League Review: Whitecaps, Pachuca win big|
|Bale: I´ll never forget this year|
|Griezmann: I deserve Best Player in Europe Award|
|No surgery for Ayew as West Ham target December return|
|Villarreal did all they could to make it through - Escriba|
|Spalletti rues lack of Roma discipline|
|Conte: Chelsea must learn to kill matches|
|Watford and West Brom crash out of League Cup|
|My longest 90 minutes as a coach - Rodgers|
|AFC Champions League: Goalless draws leave quarter-finals on a knife edge|
|Klopp hopeful over Can injury|
|Champions League play-offs: Nine-man Roma crash out as Monaco edge Villarreal|
|Henderson hails ´outstanding´ Mane after Burton thrashing|
|Chelsea 3 Bristol Rovers 2: Conte´s side survive scare thanks to Batshuayi double|
|Hapoel Be´er Sheva 2 Celtic 0 (4-5 agg): Visitors survive Israeli scare|
|Burton Albion 0 Liverpool 5: Sturridge at the double in Reds rout|
|Leverkusen sign Austria star Dragovic|
|Sakho in the clear as WADA opt against appeal|
|Enyimba 3 Mamelodi Sundowns 1: Udoh brace secures CAF Champions League win|
|Pulisic and Ramos on target as Dortmund wrap up Bundesliga preparations|
|Calleri hoping for Tevez advice|
|Defour hoping for Belgium recall|
|Alaba warns against complacency as Bayern begin Bundesliga defence|
|Bravo arrives in Manchester ahead of City move|
|Dyche backs Gray after striker´s apology for homophobic tweets|
|Gray charged by FA over homophobic tweets|
|Pique: Olympic gold proves Neymar is one of world´s best|
|Marin makes Olympiacos move|
|Zidane arrival the catalyst for one of my best seasons - Ronaldo|
|Moyes ´worried´ about Mannone elbow injury|
|Sidibe rejected Arsenal over playing-time fears|
|Guardiola: Toure could feature against Steaua|
|Hernandez out for two weeks after falling down stairs|
|Bravo nearing City move, admits Guardiola|
|Ballack impressed by Dortmund signings but still backing Bayern|
|Lucescu questions De Boer tactics|
|Milan reject Chelsea bid for Romagnoli|
|Dortmund know how to treat Gotze - Ballack|
|Shevchenko: Bacca must improve consistency|
|´If you heed 100 idiots you will go crazy´ - Bauza on Messi return|
|Valdano relieved over Messi U-turn|
|Nordfeldt in line for loan move after signing fresh Swans deal|
|Dante joins Nice from Wolfsburg|
|De Boer expects fierce fight for Barca number-one spot|
|Newell´s confident over Messi return|
|Stoke confirm Jones interest|
|MLS ´attractive´ to Rooney - Timbers owner|
|Burke re-signs with West Ham|
|Sassuolo rejected Balotelli - CEO|
|Valencia coach Ayestaran rules out Mustafi sale|
|Allardyce plans Guardiola talks over Hart|
|Cahill warns rivals over City attack|
|Allardyce open to Terry England return|
|Drogba dismisses Villa rumours|
|Tuchel pleased despite Dortmund wastefulness|
|Stam´s Reading sign Manchester United youngster Blackett|
|Champions League place main objective for Rodgers|
|Eintracht Trier 0 Borussia Dortmund 3: Kagawa at the double as Tuchel´s men stroll|
|Escriba urges cool heads in Monaco|
|Cherchesov sets bar high for Russia|
|Tite defends Neymar´s captaincy credentials|
|Ancelotti wowed by fit-again Martinez|
|Spalletti: If Roma players are afraid, I don´t want them|
|Klopp laments Origi´s absent rhythm|
|Barcelona let Neymar stay in Brazil ahead of qualifiers|
|De Jong brothers joins forces at PSV|
|Rudiger returns to training|
|Liverpool transfer talk frustrates Klopp|
|Klopp demands final third improvements|
|Everton loan Galloway to West Brom|
|Manchester United loan Borthwick-Jackson to Wolves|
|Braithwaite to snub Premier League interest to stay at Toulouse|
|Strachan leaves out McCormack, Rhodes|
|Napoli plan to limit media commitments|
|Taarabt eager to make Marseille switch|
|Kruse suffers knee ligament injury|
|Rummenigge expects Ribery to be targeted|
|Delaney: Benteke is not Messi, he needs service|
|Ballack urges patience with Pep over City project|
|James happy at Real Madrid - Zidane|
|Harper backs Phelan for permanent Hull role|
|Flexibility the key for Allardyce|
|Allardyce concerned over Hart situation|
|De Bruyne praises Sterling reaction|
|Cavani vows to improve strike rate|
|Britton signs Swansea extension|
|Higuain motivated by ´fat´ comments|
|Conte perplexed by Costa criticism|
|Drinkwater poised to sign new Leicester contract|
|Bobo completes Sydney move|
|Bilic: You can´t count on Carroll|
|MLS Review: Dempsey´s Sounders sink rivals Timbers|
|Zidane: Important year for Bale|
|Galaxy star Rogers alleges homophobic abuse|
|Vieira: Pogba just needs to be himself|
|Bacca: I made a promise to Milan|
|Angry Handanovic critical of Inter|
|Gameiro: Atletico must win at home|
|Klopp: I´d be an idiot if I made a panic buy|
|Simeone: Draw leaves a bad taste in my mouth|
|Montella: Milan must win back fans|
|Asensio revels in goalscoring LaLiga debut for Madrid|
|Atletico Madrid 1 Alaves 1: Hosts denied in dramatic finale|