Wolves' bid for European football suffered a huge blow as first half goals from Jean-Philippe Mateta and Wilfried Zaha powered Crystal Palace to a 2-0 triumph at Molineux in the Premier League.
The Eagles came out firing, seeking to exploit Wolves' high defensive line at every opportunity.
They first threatened the Wolves goal in the 10th minute when Jeffrey Schlupp drove into the area after shaking off the attentions of three players before dragging his shot just wide of the far post.
Every misplaced Wolves pass was met by groans from the Molineux faithful and they had their head in their hands when the visitors opened the scoring just nine minutes later.
Conor Gallagher threaded a gorgeous through ball to Zaha. The winger then drove to the byline before dragging the ball to Mateta who, after his initial effort looped over Jose Sa, bundled the ball into the net at the second time of asking.
Patrick Vieira's side then doubled their advantage from the penalty spot just eleven minutes later. Schlupp drove into the area before he was clumsily brought down by the outstretched leg of Max Kilman. Zaha subsequently stepped up and rifled his side into a comfortable position.
Wolves were reduced to shots from distance, with Conor Coady called into action at the opposite end when Tyrick Mitchell arrowed a cross towards Mateta in the penalty area.
Bruno Lage elected against making Wolves changes at the interval, with Pedro Neto forcing Vicente Guaita into action with an enticing cross just after the restart.
Gallagher then weaved his way down the right hand side for Palace, but his cross was turned away in less than comfortable fashion by Coady.
Wolves were beginning to take control of the game with Palace content to bunker down inside their own half, and they manoeuvred their way through the visitors' rearguard on the hour mark. However, Hwang Hee-chan elected to pull the ball back instead of taking a first time strike.
Vieira's side continued to carry an attacking threat and they had a glimpse at making it three in the 73rd minute. Gallagher's corner was met by Joachim Andersen, but the defender's header was popped up into the air before Kilman cleared the danger.
Wolves had an opportunity to grab a lifeline with 13 minutes remaining when Romain Saiss - on his 200th Wolves appearance - was first to react to Joao Moutinho's corner, but the Moroccan could not turn the ball towards goal and Michael Olise cleared.
Palace held on to seal a league double over Wolves for just the third time in their history.
Wolves player ratings
1. Goalkeeper & defenders
Jose Sa (GK) - 5/10 - Guessed correctly for Zaha's penalty, but the power defeated him.
Max Kilman (CB) - 2/10 - Endured a nightmare afternoon after a promising season until this point, clumsily conceding the penalty in which Palace doubled their advantage in the first half.
Conor Coady (CB) - 5/10 - At his best he looks very assured in defending his penalty area, but he looked hesistant this afternoon.
Romain Saiss (CB) - 6/10 - The scoreline meant it was an afternoon to forget for the Moroccan on a landmark day in the appearance charts.
2. Wing-backs & midfielders
Ki-Jana Hoever (RWB) - N/A - Forced off with a hamstring problem inside the opening 25 minutes.
Joao Moutinho (CM) - 3/10 - Sloppy in possession and looked off the pace in a frantic midfield battle.
Ruben Neves (CM) - 5/10 - Tried to take the game by the scruff of the neck after a disjointed opening period, but he was guilty of overplaying.
Marcal (LWB) - 7/10 - Occupied some good positions on the left hand side, but there was no targets in the penalty area for the Brazilian to hit with his deliveries.
Hwang Hee-chan (RW) - 3/10 - Played on the margins of the game, struggling to find space against a resolute Palace outfit.
Daniel Podence (ST) - 6/10 - Very much looked Wolves' brightest attacker, although there was not much assistance from elsewhere.
Pedro Neto (LW) - 6/10 - His first start in just under a year and, to his credit, he seemed to grow into the game in difficult circumstances.
Jonny (RWB) - 6/10 - Offered energy on the flanks after replacing the injured Hoever.
Raul Jimenez (ST) - 5/10 - Wolves fans were screaming for his introduction after a toothless attacking display.
Francisco Oliveira (RW) - N/A
Crystal Palace player ratings
5. Goalkeeper & defenders
Vicente Guaita (GK) - 5/10 - Barely had anything to contend with aside from a few speculative efforts, although he was quick off his line on a few ocassions.
Nathaniel Clyne (RB) - 6/10 - Continued in the side in the absence of Joel Ward and produced a stellar performance.
Joachim Andersen (CB) - 8/10 - Marshalled his penalty box exceptionally well, reacting swiftly to whatever Wolves threw into the danger area.
Marc Guehi (CB) - 6/10 - Responsible with the ball and, with Wolves paying special attention to Andersen's diagonals, took initiative in springing Palace forward.
Tyrick Mitchell (LB) - 6/10 - A few rash moments in the first half, but he provided a solid defensive base behind the excellent Zaha.
Cheikhou Kouyate (CM) - 6/10 - Really effective at slowing the pace of the game down, while also leveraging his physicality in defensive moments in midfield.
Jeffrey Schlupp (CM) - 8/10 - Offered real physicality in midfield, often taking a few Wolves midfielders out of the game with his ability to retain the ball under pressure. Great work to win the penalty for Zaha to dispatch.
Conor Gallagher (CM) - 8/10 - A gorgeous through ball to release Zaha in the lead up to Palace's opener, moving with grace in the middle of the pitch.
Michael Olise (RW) - 6/10 - The Wolves defence looked fearful of his trickery, constantly backing off and opening up space elsewhere for the visitors.
Jean-Philippe Mateta (ST) - 7/10 - Exactly the type of No.9 performance which Vieira requires. Dangerous in the penalty area and clinical with the opportunity which fell his way.
Wilfried Zaha (LW) - 8/10 - Constantly looked to exploit Wolves' high defensive line, providing the difference in the final third in the first half.
Luka Milivojevic (CM) - N/A
Christian Benteke (ST) - N/A
Will Hughes (CM) - N/A