Harry Kane continued his fine form in front of goal with a low strike shortly after the break to put us in the driving seat after a frustrating first period.
But the home side were given a chance to restore parity on 69 minutes when Benji Stambouli was adjudged to have fouled Joe Ledley as he cut across the area and a penalty was given.
Dwight Gayle duly seized the opportunity and drew Palace level, before Jason Puncheon won it for the Eagles with 10 minutes to go.
Mauricio Pochettino made five changes to the side that drew at Burnley in the FA Cup on Monday with Hugo Lloris, Kyle Walker, Danny Rose, Andros Townsend and Kane all returning to the starting line-up. That equated to two changes from our last Premier League outing against Chelsea – both in central midfield – with Mousa Dembele teaming up with Stambouli in place of the injured Ryan Mason and African Cup of Nations participant Nabil Bentaleb.
There was a lively start to the contest at Selhurst Park, a Rose cross from the left evading the prowling Kane and running out for a goal-kick just over a minute in, before a Jan Vertonghen clearance at the other end hit Glenn Murray and rebounded into the area but Hugo Lloris was out quickly to gather.
Dembele’s 20-yard effort in the third minute went wide, while Barry Bannan floated a shot beyond the corner of crossbar and post after a quickly-taken free-kick as Palace sought an early advantage.
With 13 minutes on the watch, Stambouli played Nacer Chadli into space on the right, the Belgian international surging into the box and going to ground under the challenge of Martin Kelly. Our claims for a penalty were waved away, though.
We continued in our efforts to pick the Palace lock, Townsend poking the ball through to Kane three minutes later, his eventual left-footed shot being comfortably stopped by home goalkeeper Julian Speroni.
Our best chance of the opening quarter fell to Christian Eriksen, but he somehow managed to direct his right-footed effort wide after getting on the end of Walker’s low fizzed ball across the box.
The home side then enjoyed a period of pressure with a series of high balls into the area causing us problems. First it was James McArthur who got a strong forehead on Dwight Gayle’s whipped cross from the left but saw it sail over mid-way through the half, before Damien Delaney steered similarly skywards from eight yards out after Scott Dann’s ball in struck Federico Fazio and fell into his path two minutes later. Murray completed the trilogy on 28 minutes when he craned his head to meet Bannan’s cross but this time it went wide of the near post.
We then had a treble of our own of sorts – three corners floated into the box but each came to nothing – before the right leg of Lloris denied Murray a 35th-minute opener. McArthur picked up the ball from a Fazio header 20 yards out and played it through the legs of Dembele – sending Murray clean through. Lloris was out quickly and ensured he got something on the resulting shot to send the ball behind for a corner.
Gayle got himself in the right areas for Palace twice in the minutes preceding the interval, first going to ground under the challenge of Fazio – the referee saw no infringement – before finding himself the target of Jason Puncheon’s looping right-sided cross, only to be denied possession by the legs of the retreating Stambouli in the box.
Fazio again thwarted Gayle three minutes into the second period by blocking his shot at close range after Dann knocked half-time substitute Adlene Guedioura’s left wing cross into his path.
Then came the breakthrough and it was once again Kane who did the business. Chadli prodded the ball in to his feet on the edge of the box and the in-form front man picked his spot, firing right-footed low into the far corner with 49 minutes gone.
More brilliance from Lloris prevented Palace from hauling themselves level three minutes later, our French international skipper reacting instantly to stop Gayle’s shot on the line after Puncheon’s free-kick was knocked down by Dann.
It was again Dann who was first to an aerial ball a couple of minutes later, this time nodding Puncheon’s set piece down to Gayle but his acrobatic overhead kick ran tamely through to Lloris.
Palace were thrown a lifeline on 69 minutes when Stambouli slid in on Ledley as he cut into the area after Puncheon’s pass with the referee pointing to the spot, Gayle stepping up to score from 12 yards.
Four minutes later there was some great interplay between Walker and Dembele which ended with Dembele’s dipping effort bouncing through to Speroni after Walker’s initial cross was blocked.
Kane sent a glancing header just wide from substitute Etienne Capoue’s cross, but an off-side flag rendered it immaterial.
Palace went close as Dann was denied by Fazio after Puncheon’s corner and it was the latter who netted the decisive goal 10 minutes from time. Substitute Wilfried Zaha skipped in from the home side’s left flank and his deflected cross found its way to Puncheon, who swept home.
We tried to mount an immediate response, Eriksen’s low shot taking a touch off a defender on its way past the upright, while the third of three Eriksen corners in quick succession found its way to Capoue out wide on the right, whose cross was headed out as far as Jan Vertonghen – his own header proving easy for Speroni to catch.
Kane burst into the box on 86 minutes and went to ground under pressure from Ledley, but the referee was uninterested.
Eriksen then tried to play a through ball to Roberto Soldado – on for Stambouli – but Delaney intercepted with a well-timed covering tackle.
Another of the hosts’ reinforcements, ex-Spur Fraizer Campbell, got the better of Fazio and forced Lloris to save at his near post as Palace tried to put the issue beyond doubt, while Capoue’s fizzing 30-yarder was tough for Speroni to gather.
With Fazio thrown forward as we chased a late leveller, Puncheon sent Zaha running into space in the fifth of six added minutes but, after the forward cut in and shot with his right foot, Lloris was able to palm the ball away in what proved to be the last chance either side would have.
Spurs: Lloris (c), Walker, Fazio, Vertonghen, Rose; Dembele, Stambouli (Soldado 76); Chadli, Eriksen, Townsend (Capoue 70); Kane. Substitutes (not used): Vorm, Davies, Kaboul, Lennon, Paulinho.
Crystal Palace: Speroni, Kelly, Delaney, Dann, Ward, Puncheon, McArthur, Bannan (Guedioura 46), Ledley, Gayle (Campbell 88), Murray (Zaha 75). Substitutes (not used): Hennessey, Mariappa, Hangeland, Thomas.
Goals: Crystal Palace – Gayle (pen) 69, Puncheon 80; Spurs – Kane 49.
Yellow cards: Crystal Palace – Bannan 37, Dann 45, Puncheon 77, Campbell 90+1; Spurs – Townsend 24, Stambouli 55, Fazio 90+1.
Referee: Anthony Taylor.