Crystal Palace's Jason Puncheon, right, opens the scoring against Everton in their Premier League game at Goodison Park. Photograph: Barry Coombs/PA

A victory created in south London, cherished in north London. Crystal Palace shattered Everton's seven-game winning streak, their run of nine straight victories at Goodison Park and possibly their Champions League hopes with a clinical away performance to ensure Premier League football stays at Selhurst Park next season. Tony Pulis's act of escapology is complete. Arsène Wenger can sense a reprieve of his own.

Arsenal remain in fourth place and, crucially, are back in control of their Champions League destiny after Everton "played with a bit of fear" according to their manager, Roberto Martínez, and were duly picked off. The visiting wingers, Jason Puncheon and Yannick Bolasie, inspired Palace to a fourth successive league victory and the magical 40-point barrier. How elusive that must have seemed to Pulis when he took his seat before the Hull City game on 23 November with Palace languishing on four points from 11 games. How thankful Palace must be to Sir Alex Ferguson and Peter Coates, the Stoke City chairman, for convincing Pulis to bury his doubts and accept the job.

Puncheon, Scott Dann and Cameron Jerome scored the goals that continued Palace's stirring recovery and halted Everton's momentum. Brendan Rodgers looked on and will know there are no guarantees when Liverpool head to Selhurst Park for the penultimate game of their title-chasing season.

The Everton manager described Palace as the "best defensive set-up in the league" before kick-off and attempted to break through with even greater flair than usual. James McCarthy was not risked from the start due to a muscle problem but in his absence, and with Seamus Coleman and Leighton Baines afforded little protection at full-back, the visitors' resilience was only part of his problem. Palace had the finishing touch too and Everton were consumed by anxiety when Puncheon scored his fourth goal in three games midway through the first half.

The 25th anniversary of the Hillsborough disaster was marked by a minute's applause and some nice touches from Liverpool's local rivals. Children held a row of entwined blue and red scarves the length of the pitch, reviving memories of a similar show of unity at Goodison before Liverpool's first competitive fixture after the tragedy in 1989. Martínez, who delivered an emotive speech at the memorial service at Anfield, turned to face Margaret Aspinall and other invited members of the Hillsborough Family Support Group in the Goodison directors' box during the applause.

Palace were content to absorb Everton pressure and strike on the counter, and did so to devastating effect when the impressive Bolasie burst past Baines inside the area. His cross deflected to Marouane Chamakh who teed up Puncheon for a confident finish into the bottom corner of Tim Howard's goal. It could have been worse for Everton when Bolasie's shot hit the base of the post from 25 yards. Jerome steered an awkward rebound wide.

All Everton had to show for dominant first-half possession were half-chances for Kevin Mirallas and Romelu Lukaku, the latter forcing a fine save from Julián Speroni, and their night did deteriorate when Palace scored a second moments after the restart. Only a fine save from Howard prevented Joe Ledley scoring from 12 yards but, from the resulting corner by Bolasie, there was no reprieve as Dann broke free of John Stones and steered a textbook header into the roof of the net. Martínez complained afterwards that Stones had been unfairly blocked as he tracked the Palace defender. To no avail.

Goodison could see its Champions League dream disappearing over the horizon of the Emirates and Martínez acted, introducing McCarthy and Leon Osman. The impact was immediate on Everton's balance, control and composure. Within two minutes Ross Barkley found Mirallas wide on the right. His deep, searching cross was headed back across goal by Baines and the substitute Steven Naismith prodded in his third goal in four matches.

Mirallas volleyed over from a Baines cross and Speroni saved superbly from Osman as Everton stirred. But they were punctured by Puncheon yet again when the midfielder cut across the Everton defence and picked out Jerome inside the area. The striker made himself a yard of space and swept an emphatic finish into the far corner.

Mirallas converted Barkley's deflected pass in the 86th minute but, despite six minutes of added time, the draw was beyond Everton. Advantage Arsenal.