Manchester United captain Bruno Fernandes was sent off for the third time this season as the ten-man Red Devils crashed to their third-straight defeat.
Fernandes was dismissed in the 47th minute for a second bookable offence and United, who barely threatened all match, were never a danger thereafter.
Man of the match Matheus Cunha scored direct from a corner in the 58th minute before setting up Hee Chan Hwang to score at the death.
United have now lost five of their 10 games under new manager Ruben Amorim and remain mired in the bottom half of the table having conceded six in their last two outings without a reply.
It’s the first time the club have been outside the top half of the top flight at Christmas since 1989 and the lowest the Red Devils have been at this stage of the year since 1986.
Wolves star player Cunha continued in their line-up as they wait to see what punishment the FA will impose on the record signing. Cunha faces a disciplinary hearing after being involved in an altercation with one of the Ipswich Town staff at the end of the 2-1 defeat on December 14. And what a performance from the classy Brazilian, with United having no answer to his silky skills.
United enjoyed 66 per cent possession in a goalless first half played in swirling fog, but forced just one on-target effort.
Cunha was at the centre of everything, forcing the first booking of the game in the fifth minute after being pulled down by Yoro with United goalkeeper Andre Onana made the first save from his low free kick. It was also Cunha who drew the foul for Fernandes’ first yellow card after beating Noussair Mazraoui.
Diogo Dalot had United’s opening chance, forcing a tremendous save from Wolves goalkeeper Jose Sa with a curling effort from 25 yards. But it didn’t get better than that for United, who lacked the incision to open Wolves up.
Goncalo Guedes replied with a stinging shot for Wolves from long range but it flew just off target. United were under pressure again and Onana came to the rescue, tipping over Jorgen Strand Larsen’s header from Guedes’ cross in the hosts’ best move to date.
Wolves midfielder Joao Gomes became the latest player to be booked after catching Fernandes.
The home side continued to pose United problems and a cross from Ait-Nouri flew across the box, just too far ahead of anyone to apply the finishing touch.
Nelson Semedo’s 30-yard shot, which took a deflection off Manuel Ugarte and looped up to fly just wide, went close to handing Wolves a 40th-minute lead.
The second half got off to a flying start when Fernandes was sent off in the 47th minute for a second bookable offence. The United captain jumped into a challenge on fellow Portuguese Nelson Semedo, leaving referee Tony Harrington with little alternative after he had already been booked.
Fernandes protested long and hard but there was no changing Harrington’s mind, and Amorim blanked his captain as he made his way off.
Wolves had the ball in the net almost immediately when Strand Larsen headed home Semedo’s cross but the flag immediately went up for offside. But the home side didn’t have to wait long to be cheering a goal.
Cunha’s inswinging corner flew into the top corner of the net with Onana flailing hopelessly, concentrating on trying to shove Matt Doherty out of the way than saving the ball. Amorim responded by making a triple substitution in the 63rd minute to spark a change.
Christian Eriksen, Casemiro and Antony replaced Ugarte, Kobbie Mainoo and Dalot. But it made little difference and it took the introduction of Joshua Zirkzee to produce an effort on goal, as he looped a header just over the bar.
There was a header from Harry Maguire in time added on, but it flew straight at Sa.
United’s misery was complete in the 98th minute. Substitute Tommy Doyle won the ball deep inside his own half and found Cunha with half of the pitch to spare. He drew Onana before unselfishly squaring to Hee Chan Hwang to finish.
Sa 8; Doherty 8, Bueno 8, Toti 8; Semedo 8 (Bellegarde 90+2 minutes, 6), Andre 8, J Gomes 7 (Doyle 73 minutes, 6), R Ait-Nouri 7 (R Gomes 87 minutes, 6); Cunha 9, J Strand-Larsen 7 (Dawson 90+2 minutes, 6), Guedes 7 (Hee Chan Hwang 73 minutes, 6). Johnstone, Forbs, Meupiyou, Lima.
Onana 5; Martínez 6, Maguire 6, Yoro 6; Dalot 6 (Antony 63 minutes, 6), Mainoo 6 (Casemiro 63 minutes, 6), Ugarte 5 (Eriksen 63 minutes, 6), Mazraoui 6; Bruno Fernandes (c) 4, Højlund 5 (Zirkzee 79 minutes, 6); Diallo 5 (Garnacho 79 minutes, 6). Bayındır, Collyer, Evans, de Ligt.
Tony Harrington 8.