Andre Moritz scored twice as Crystal Palace defeated Wolves to move to within two points of an automatic promotion place in the Championship.
The Eagles went ahead after Bakary Sako fouled Wilfried Zaha and Moritz fired the free-kick past keeper Carl Ikeme.
Zaha was involved in Palace's second as he slid a pass to Yannick Bolasie, who nudged the ball into the net.
A second Moritz free-kick made it 3-0, although Wolves scored through Sylvan Ebanks-Blake's shot on the turn.
It turned into a convincing victory for Palace, but Wolves were left regretting missing an early chance when midfielder David Davis charged forward and crashed a 20-yard shot against the crossbar.
Wolves' woeful run continues
Wolves were third in the Championship after a 1-0 win at Blackburn Rovers on 6 October.
However, a run of three wins, three draws and 10 defeats in their next 16 games has left Wolves 18th, only six points above the relegation zone.
But Zaha, who has been linked with a move to the Premier League in January's transfer window, was instrumental in Palace's attacks.
He skipped past a challenge from Stephen Ward and set up Moritz, who dragged a shot wide from eight yards.
Zaha also blasted over the crossbar after a one-two with Jonathan Parr and then had another effort cleared off the line.
However, Palace then took a deserved lead through Moritz's first free-kick from 20 yards out.
Bolasie added a close-range second before Moritz sealed the win with a second free-kick after he had been fouled by Roger Johnson.
Wolves, who have now only won three times in 16 matches, grabbed a late consolation when Ebanks-Blake finished from Jamie O'Hara's free-kick.
Crystal Palace manager Ian Holloway said:
"The free-kicks summed up the day and I'm delighted for Andre.
"To do one either side shows fantastic ability but you don't get that good without practising.
"I had a chat with Andre in the week and hopefully he will get up to speed of playing in the English league. He didn't have a pre-season but has shown what he is capable of."
Wolves manager Stale Solbakken said:
"We have to believe that we can turn it round but we are in a crisis, no doubt about it.
"We have lots of injuries but there are no excuses and we will see what we can do to improve. But the players who are here are the ones who must take responsibility.
"It's my duty to find out why and I won't blame anyone. We have to dig very deep and don't give any excuses - we are a bad Championship team."
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +4:45
Jamie O'Hara fires a strike on goal direct from the free kick, save made by Julian Speroni.90:00 +3:42 Substitution
Substitution Stuart O'Keefe comes on in place of Yannick Bolasie.90:00 +2:26
Glenn Murray fouled by Stephen Ward, the ref awards a free kick. Free kick taken by Mile Jedinak.90:00 +1:59
Centre by Stephen Ward, clearance made by Peter Ramage.89:54 Booking
Booking Jamie O'Hara is cautioned.89:51
Foul by Karl Henry on Jonathan Williams, free kick awarded. Mile Jedinak produces a strike on goal direct from the free kick.88:03
Strike on goal comes in from Mile Jedinak from the free kick.88:03 Booking
Booking Richard Stearman is booked.87:55
Unfair challenge on Yannick Bolasie by Richard Stearman results in a free kick.86:18
Dean Moxey takes a shot. Roger Johnson gets a block in.85:16
Peter Ramage concedes a free kick for a foul on Sylvan Ebanks-Blake. Jamie O'Hara takes the direct free kick.84:37 Booking
Booking Booking for Sylvan Ebanks-Blake.84:35
Sylvan Ebanks-Blake concedes a free kick for a foul on Mile Jedinak. Julian Speroni takes the indirect free kick.83:03
Outswinging corner taken right-footed by Jermaine Pennant, Roger Johnson takes a shot. Save by Julian Speroni.82:07
Carl Ikeme restarts play with the free kick.82:07 Booking
Booking Kagisho Dikgacoi goes into the book.82:01
Kagisho Dikgacoi challenges Jamie O'Hara unfairly and gives away a free kick.81:51
Centre by Glenn Murray.81:19
Yannick Bolasie sends in a cross.
Wilfried Zaha produces a cross, clearance by Roger Johnson.78:58
Free kick taken by Julian Speroni.78:58 Substitution
Substitution Jonathan Williams on for Andre Moritz.78:58 Substitution
Substitution Jermaine Pennant replaces Kevin Foley.78:58
Free kick awarded for an unfair challenge on Glenn Murray by Stephen Ward.78:37
The ball is crossed by Richard Stearman, save by Julian Speroni.77:30
Mile Jedinak takes a shot. Save made by Carl Ikeme.74:16
Jamie O'Hara provided the assist for the goal.74:16 Goal scored
Goal! - Sylvan Ebanks-Blake - C Palace 3 - 1 Wolves Sylvan Ebanks-Blake gets on the score sheet with a goal from inside the box to the bottom right corner of the goal. Crystal Palace 3-1 Wolverhampton.73:50
Yannick Bolasie challenges Richard Stearman unfairly and gives away a free kick. Direct free kick taken by Jamie O'Hara.72:05
Glenn Murray challenges Christophe Berra unfairly and gives away a free kick. Free kick taken by Carl Ikeme.69:49
Handball decision goes against Mile Jedinak. Carl Ikeme restarts play with the free kick.68:12
Shot from close range by Sylvan Ebanks-Blake misses to the right of the target.66:59
Unfair challenge on Roger Johnson by Yannick Bolasie results in a free kick. Indirect free kick taken by Carl Ikeme.66:18 Booking
Booking Glenn Murray is shown a yellow card.66:14 Booking
Booking Roger Johnson is shown a yellow card for unsporting behaviour.64:03
Foul by Glenn Murray on Christophe Berra, free kick awarded. Indirect free kick taken by Roger Johnson.62:42
Kagisho Dikgacoi concedes a free kick for a foul on Anthony Forde. Jamie O'Hara takes the free kick.59:28 Substitution
Substitution Anthony Forde comes on in place of Bakary Sako.59:28 Substitution
Substitution David Davis leaves the field to be replaced by Jamie O'Hara.58:47
Mile Jedinak challenges Bakary Sako unfairly and gives away a free kick. Carl Ikeme takes the indirect free kick.58:27
Centre by Jonathan Parr, clearance made by Christophe Berra.58:14
Foul by Kevin Foley on Mile Jedinak, free kick awarded. Mile Jedinak takes the indirect free kick.56:26
The referee blows for offside. Julian Speroni takes the free kick.55:49
Shot by Yannick Bolasie. Blocked by Roger Johnson.55:30
The ball is crossed by Wilfried Zaha, clearance by Roger Johnson.54:04
Glenn Murray gives away a free kick for an unfair challenge on David Davis. Roger Johnson takes the free kick.53:32
The referee blows for offside. Julian Speroni takes the free kick.52:25
Glenn Murray is flagged offside by the assistant referee. Karl Henry restarts play with the free kick.51:22 Goal scored
Goal! - Andre Moritz - C Palace 3 - 0 Wolves Andre Moritz grabs a goal direct from the free kick from outside the box to the top left corner of the goal. Crystal Palace 3-0 Wolverhampton.50:30
Unfair challenge on Andre Moritz by Roger Johnson results in a free kick.50:01
Bakary Sako gives away a free kick for an unfair challenge on Mile Jedinak. Jonathan Parr restarts play with the free kick.46:42
Bakary Sako is caught offside. Free kick taken by Julian Speroni.45:24
Free kick awarded for a foul by Wilfried Zaha on Stephen Ward. Indirect free kick taken by Carl Ikeme.45:01
The referee blows his whistle to start the second half.45:01 Substitution
Substitution Daniel Gabbidon leaves the field to be replaced by Aaron Martin.45:00 +1:09 Half time
Half Time The ref blows to end the first period.44:32
Glenn Murray challenges Christophe Berra unfairly and gives away a free kick. Carl Ikeme restarts play with the free kick.43:21
Effort from the edge of the area by Glenn Murray goes wide of the left-hand upright.42:38
Roger Johnson concedes a free kick for a foul on Glenn Murray. Direct free kick taken by Andre Moritz.39:51
Mile Jedinak produces a right-footed shot from outside the penalty area and misses left.39:01
Wilfried Zaha provided the assist for the goal.39:01 Goal scored
Goal! - Yannick Bolasie - C Palace 2 - 0 Wolves Yannick Bolasie finds the back of the net with a goal from inside the six-yard box to the bottom right corner of the goal. Crystal Palace 2-0 Wolverhampton.35:28
Centre by Stephen Ward, clearance made by Peter Ramage.34:40
Centre by Jonathan Parr, save made by Carl Ikeme.32:45
The ball is sent over by Sylvan Ebanks-Blake, save by Julian Speroni.30:44 Goal scored
Goal! - Andre Moritz - C Palace 1 - 0 Wolves Andre Moritz grabs a goal direct from the free kick from outside the penalty area to the top right corner of the goal. Crystal Palace 1-0 Wolverhampton.29:35
Wilfried Zaha fouled by Bakary Sako, the ref awards a free kick.28:22
Richard Stearman challenges Glenn Murray unfairly and gives away a free kick. Free kick crossed right-footed by Yannick Bolasie from left wing, Christophe Berra makes a clearance.27:40
Kevin Doyle concedes a free kick for a foul on Daniel Gabbidon. Julian Speroni takes the free kick.26:47
Jonathan Parr delivers the ball, Shot by Wilfried Zaha. Roger Johnson gets a block in.24:10
Foul by Bakary Sako on Wilfried Zaha, free kick awarded. Andre Moritz crosses the ball from the free kick left-footed from right wing, clearance made by Kevin Doyle.22:28
Yannick Bolasie takes a shot from just outside the penalty area which clears the crossbar.20:45
Free kick awarded for an unfair challenge on Bakary Sako by Jonathan Parr. Stephen Ward restarts play with the free kick.19:55
Jonathan Parr delivers the ball, Shot from inside the area by Wilfried Zaha clears the bar.17:37
A cross is delivered by Wilfried Zaha, clearance by Christophe Berra. Inswinging corner taken from the right by-line by Andre Moritz, Christophe Berra makes a clearance.16:21
Glenn Murray has an effort at goal from outside the area which goes wide right of the goal.15:09
Andre Moritz has an effort at goal from close range which goes wide left of the goal.13:47
Corner taken by Bakary Sako, Mile Jedinak makes a clearance.12:51
Effort from just outside the area by Yannick Bolasie goes over the target.11:56
Inswinging corner taken left-footed by Yannick Bolasie played to the near post, Kevin Doyle manages to make a clearance.11:29
Mile Jedinak delivers the ball, Christophe Berra manages to make a clearance.10:20
The referee blows for offside. Carl Ikeme takes the free kick.8:26
Andre Moritz fouled by Karl Henry, the ref awards a free kick. Yannick Bolasie restarts play with the free kick.7:12
Effort from 25 yards by David Davis. Bakary Sako has an effort at goal from outside the area which misses left.6:18
Andre Moritz challenges Karl Henry unfairly and gives away a free kick. Richard Stearman takes the indirect free kick.5:17
Dean Moxey is caught offside. Carl Ikeme takes the free kick.2:59
Karl Henry gives away a free kick for an unfair challenge on Wilfried Zaha. Andre Moritz takes the direct free kick.0:00
The referee gets the match started.
Live data and text provided by our data suppliers