Preston North End's unbeaten run in the Championship came to an end in a lively clash with league leaders Wolves at Molineux.
They came back from being 3-0 down to push the hosts all the way, Jordan Hugill and a Conor Coady own goal reducing the arrears.
But North End could not force an equaliser in more than eight minutes of stoppage-time, that played out with 10 men after Alan Browne had been sent-off for his second bookable offence in the 90th minute.
The damage was done to the visitors in a spell late in the first half and early in the second period.
After having far the better of the opening half hour, they fell behind to an Ivan Cavaleiro goal on the stroke of half-time.
Leo Bonatini then struck twice in four minutes either side of the hour mark, the first from the penalty spot.
Hugill's goal looked no more than a consolation before Coady turned a Tom Barkhuizen cross into his own net to make things interesting.
The North End side had shown two changes to the one which drew at Fulham a week earlier, Josh Harrop replacing the injured Sean Maguire and Darnell Fisher returning at right-back instead of Calum Woods.
For the opening half hour, PNE were the better side and just didn't allow the hosts to get into their stride.
They certainly had the better of the chance count in the first half, Ben Pearson firing a fourth-minute shot over the bar after Harrop and Josh Earl had worked the ball down the left wing.
In the 15th minute, Daniel Johnson's low shot from 20 yards was palmed behind by keeper John Ruddy diving to his left.
Earl looped a header too high after getting on the end of a Pearson cross, Harrop and Johnson having worked a shot corner to the midfielder.
Preston's best opening of the first period came with 29 minutes on the clock, Hugill hustling Roderick Miranda out of possession and feeding a pass to Barkhuizen down the right channel.
Barkhuizen pulled the ball low into the middle, Johnson arriving to meet it but lifting his shot inches over the bar.
It wasn't until the 31st minute that Wolves seriously threatened the PNE goal, a shot from Jota clearing Chris Maxwell's bar by a matter of inches.
Wolves' opener on the stroke of half-time had a touch of fortunate about it.
They attacked on the break, Matt Doherty striding up field and feeding a pass up to Jota in the box.
His shot bounced off Harrop and rolled across the box to Barry Douglas whose initial cross was blocked by Fisher.
When it came back to him, Douglas crossed low to the far post where Cavaleiro squeezed a shot over the line despite the best efforts of Ben Davies on the line.
Nine minutes into the second half, Barkhuizen volleyed high over the bar after Fisher found him with a cross from the right.
But Wolves then took a grip on proceedings by scoring twice in a four-minute spell.
In the 58th minute, Harrop clipped Doherty as he cut into the box, referee Stephen Martin pointing to the penalty spot.
The celebrations had hardly died down when Wolves got their third goal, Jota getting down the right hand side of the box and forcing Maxwell into a good save.
Unfortunately the ball hit the in-rushing Bonatini and rolled into the net.
North End pulled a goal back in the 65th minute, Browne's cross met by Hugill who headed across the keeper from eight yards.
Soon after that, a pass from substitute Stephy Mavididi released the overlapping Barkhuizen down the side of the box, his low shot flashing across the face of goal and wide of the far post.
They reduced the deficit further in the 76th minute as Barkhuizen's low cross from the right hit Wolves defender Coady and went into the net.
A lively finale saw PNE pile on the pressure but just after the fourth official had signalled six minutes stoppage-time, Browne was sent-off for tripping Alfred N'Diaye - that his second booking of the game.
Browne walked off without waiting for the red card and a melee enused on the pitch, N'Diaye and Johnson both booked for their part in it.
Bizarrely, Mr Martin called Browne back from the dressing room to show him the red card on the side of the pitch.
Despite a couple of free-kicks in promising positions in the added-on time, North End couldn't force a equaliser.
Wolves: Ruddy, Batth, Coady, Miranda, Doherty, Saiss, Neves, Douglas, Jota (N'Diaye 82), Cavaleiro (Enobakhare 75), Bonatini (Costa 75). Subs (not used): Bennett, Marshall, Price, Norris.
PNE: Maxwell, Fisher, Huntington, Davies, Earl, Pearson, Johnson, Barkhuizen, Browne, Harrop (Mavididi 61), Hugill. Subs (not used): Woods, Boyle, Gallagher, Horgan, Robinson, Hudson.
Referee: Stephen Martin (Staffordshire)
Attendance: 27,352 (1,987 PNE)