Tottenham missed the chance to go top of the Premier League with a 1-0 defeat at West Ham as Michail Antonio continued his hot streak at Upton Park.
Having come from behind to beat Swansea City 2-1 at the weekend, Spurs went into Wednesday's clash with their London rivals with the chance to move ahead of leaders Leicester City, who were held to a 2-2 draw by West Brom 24 hours earlier.
But Mauricio Pochettino's side paid the price for a lacklustre first-half display, with Antonio's early header proving the difference in a frenetic derby encounter.
Antonio converted a Dimitri Payet corner to net his fourth goal in four home games for Slaven Bilic's team, who perhaps should have been more than 1-0 up at half-time following a dominant first 45 minutes.
Tottenham responded well in the second half and looked the more likely to score as they attempted to make it a happy 44th birthday for their manager and move above Leicester on goal difference.
However, it was Bilic and the home fans who were provided with reason to celebrate, West Ham holding on to maintain their push for Champions League qualification.
It took Antonio just seven minutes to break the deadlock with his second goal in as many games as he met Payet's set-piece from the right with a powerful near-post header that Hugo Lloris could not keep out.
Lloris redeemed himself somewhat eight minutes later, producing a fine diving save to his left to turn Mark Noble's long-range drive behind.
Payet had a curling effort deflected wide late in the half and Spurs will have been relieved to head into the interval only a goal down given the pressure they were forced to soak up.
Ben Davies lashed wide shortly after the restart in what was Tottenham's first shot of the match, with Erik Lamela then heading well wide at the near post in the 53rd minute.
A rejuvenated Tottenham continued to surge forward in search of an equaliser and will have been wondering how they were not level when Adrian pulled off an excellent double save to keep out Toby Alderweireld's fierce low effort and Harry Kane's follow-up.
Dele Alli - who was left on the bench after picking up an injury in the warm-up - was thrown on in place of Nacer Chadli as Pochettino tried everything to find a leveller.
But, after West Ham defender James Collins limped off to be replaced by Reece Oxford, the visitors were fortunate not to fall 2-0 down when Antonio spurned a chance to double his tally, firing over from Payet's superb free-kick in the 66th minute.
Tottenham were unable to punish West Ham for Antonio's profligacy, though, and remain three points behind Leicester going into the weekend's meeting with neighbours Arsenal, who also suffered a disappointing evening in being beaten 2-1 by Swansea.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1