Everton’s European hopes were deal another blow and their Goodison Park struggles continued as a late equaliser from Michy Batshuayi earned a 1-1 draw for Crystal Palace.
James Rodriguez put the Toffees in front on his return to the side and that looked to be enough to earn all three points before substitute Batshuayi pounced with four minutes remaining.
It means Everton missed the chance to draw level on points with Tottenham, Liverpool and West Ham above them, and why their Champions League dream looks to have faded.
They can only have themselves to blame though. They created a host of chances and having gone in front a second would surely have killed the game off. But their failure to do so meant a nervy last few minutes and they were made to pay.
Michael Keane, Tom Davies and Robin Olsen also returned, with Gylfi Sigurdsson, Ben Godfrey and Joao Virginia on the bench, while Allan and Alex Iwobi missed out with minor knocks picked up in training.
The Toffees were gifted an opportunity early on when Gomes robbed Luka Milivojevic, but the midfielder chose to pass to Richarlison despite the Brazilian being clearly offside, with the move breaking down anyway.
Palace had their first chance of a quiet opening when Eberechi Eze had a shot from a tight angle saved by Olsen after a neat one-two with Jordan Ayew.
That proved to be the Eagles’ only opportunity of the half, with the chance seemingly sparking Everton into life.
We were still watching the replay of Eze’s chance when Dominic Calvert-Lewin raced onto a long ball from Mason Holgate but saw his effort well saved by Vicente Guaita.
Seamus Coleman then put in a peach of a cross towards Richarlison, who sent his header from six yards just over the bar. The Brazilian then found himself clean through from Gomes’ pass, but Guaita once again did well to block his shot and smother the rebound.
James showed some exquisite control to collect Coleman’s first-time cross but could only volley over the bar before Carlo Ancelotti was forced into a change when Gomes went off with what looked like an ankle injury and was replaced by Gyfli Sigurdsson.
Richarlison won a free-kick on the edge of the box in Sigurdsson and/Digne territory, though the Brazilian made an almighty fuss to try and take it himself, which he did, and fired over.
Chill the ego there, Richy.
James dragged low shot wide from distance, before delivering a peach of a free-kick that Richarlison headed just over as the chances began to stack up.
Frustration was the by-word as the half-time whistle went, with Everton failing to take any of the numerous opportunities presented to them.
Everton continued to make chances in the second half, with Sigurdsson firing in a low drive that was deflected wide by the outstretched boot of Cheikhou Kouyate.
Then, after 56 frustrating minutes, the deadlock was finally broken.
Richarlison and Digne combined down left to set up Sigurdsson, whose shot was parried by Guaita into the path of Coleman, who showed great awareness to look up and lay the ball off for James to slam home.
It should have been two moments later when Richarlison slid in Calvert-Lewin, but his shot was once again parried by the impressive Guaita.
Everton needed a second, and the reason why came just after the hour. There seemed little on when Eze collected the ball 25 yards from goal on the left, but he let fly with a swerving shot that Olsen did well to parry away.
Davies’ lazy pass when then intercepted by Zaha, who raced into the area before firing in a shot straight at Olsen. Ayew then tested the Swede from distance, though it was a comfortable claim in the end.
Carlo made a second substitution with 15 minutes left as Ben Godfrey, who had picked picked up a minor injury with England U21s last week, came on for Coleman, who had done well up to that point.
Two minutes later, goalscorer James came off and Jean-Philippe Gbamin came on for his first appearance since August 2019. A welcome sight after his horrendous injury problems.
Everton could - and perhaps should - have finished on 80 minutes when Digne played Sigurdsson’s long cross back into Richarlison’s path, but his effort was parried away once more by Guaita.
Back at the other end, Jeff Schlupp dragged a shot wide from inside the area. Batshuayi then thought he was through only to be denied by an excellent last-ditch tackle by Yerry Mina.
Everton were playing a risky game, and they were made to pay for their failure to kill the game off.
There were just four minutes left when Zaha’s neat pass found Batshuayi inside the area and he drilled the ball into the corner.
Meanwhile, it just wasn’t Richarlison’s day. He collected Calvert-Lewin’s pass and squeezed in a goalbound shot that Guaita once again parried away, summing up Everton’s frustrations.
A huge blow to their European ambitions and further evidence that this side consistently fails to make that leap when the opportunity presents itself.