Tottenham ville ta chansen att haka på Aston Villa i kampen om Champions League-platserna, men var på väg mot förlust i derbyt mot Crystal Palace.
Efter en mållös första halvlek tog Eberechi Eze sats från en position utanför straffområdett och tryckte iväg en frispark.
Bollen gick in i Guglielmo Vicarios hörn och Eze hade därmed gjort 1-0 i sin första match från start sedan den 30 januari.
Tottenham inledde nu en jakt på kvittering. Det dröjde till den 77:e minuten - men då vände allt.
Inhopparen Brennan Johnson vann boll, dribblade sig igenom och serverade Timo Werner som rakade in sitt första mål i Tottenham-tröjan.
Tre minuter senare kom nästa hemmamål. Cristian Romero mötte en läcker boll av James Maddison och nickade in 2-1 - hans fjärde ligamål denna säsong.
- Det första målet är en uppvisning av Johnson, men målet borde aldrig ha fått göras. Palace hade kontroll på boll, sa förre Manchester City-backen Nedum Onuoha enligt BBC och fortsätter:
- Nu kan du verkligen höra hemmapubliken och det blir långa minuter för Palace.
Minuterna blev inte bara långa. Gästerna släppte också in trean. Johnson fick fram bollen till Heung-min Son, som dundrade iväg och placerade in 3-1.
- När koreanen får bollen 40 meter från mål vet du exakt vad som väntar, sa kommentatorn Chris Wise enligt BBC.
Efteråt uttalade sig Tottenham-tränaren Ange Postecoglou.
- Uthållighet, tro och en del kvalitet. När de gör mål är det enda gången de har bollen på vår planhalva. Vår reaktion var lysande. Det är en match vi borde ha vunnit mer komfortabelt, säger han till BBC.
I och med segern är Tottenham bara två poäng bakom Aston Villa, som ligger fyra.