Wolves recovered from a serious injury to striker Raul Jimenez to record their first league win at Arsenal in over 40 years.
Jimenez was involved in a sickening clash of heads with David Luiz and was taken to hospital having received 10 minutes of treatment on the pitch.
While his team-mates were clearly shaken by events, they rallied to win 2-1 as Pedro Neto and Daniel Podence struck either side of a Gabriel Magalhaes header to earn a deserved victory.
Jimenez was reported to be conscious and responding to treatment as the game wore on – while Arsenal were left to defend leaving Luiz on until half-time.
The Brazilian defender came off the better of the two after the fifth-minute clash with Jimenez but was bandaged up and bleeding, with Arsenal insisting they followed all protocols before allowing Luiz to continue.
He was replaced at half-time by Rob Holding as Arsenal aimed to fight back and earn a point – but instead they suffered a third straight Premier League defeat at the Emirates Stadium.
Meanwhile, Wolves left with their first league success over the Gunners since 1979 and move up to sixth in the table
Luiz and Jimenez collided following an early Arsenal corner. The former was soon on his feet but Jimenez was down as the paramedics and medical staff all raced onto the pitch.
The Mexico forward was eventually taken off strapped to a stretcher and receiving oxygen as Fabio Silva came on in his place.
There was a sombre mood on the pitch when the action returned but Wolves would take the lead soon after.
Leander Dendoncker headed an Adama Traore cross against the frame of the goal but Neto was quickest to respond and converted the rebound.
The lead would be short-lived as Arsenal hit back just three minutes later, Gabriel rising to brilliantly head home Willian’s cross.
It was their first Premier League goal from open play in almost eight-and-a-half hours – but they were trailing again before the break.
Dendoncker had already forced a low save out of Bernd Leno at the other end before fine work from Traore allowed Neto to run at the Arsenal defence.
His low shot was deflected and caused Leno an issue as the ball hit his legs and rolled out for Podence to finish coolly.
With a long period of added time at the end of the first-half, Traore should have sent Wolves in two goals ahead at the break but fired into the side netting when well-placed.
Luiz did not emerge for the second period as Holding came on – but Mikel Arteta’s side toiled in attack in their forlorn attempt to get back into the contest.
Bukayo Saka passed up a fine chance as he skewed a shot when Hector Bellerin picked out the England international unmarked in the box.
Wolves had Arsenal at arm’s length but Rui Patricio – making his 100th appearance for the club – almost gifted the hosts an equaliser after passing straight to Pierre-Emerick Aubameyang: the Arsenal skipper unable to convert as Conor Coady made the block.
Substitute Reiss Nelson then fired over from a position where he would have at least wanted to hit the target.
Arteta also introduced Alexandre Lacazette from the bench but Wolves held firm to pick up a win on what would have been a difficult night for everyone at the club.