La Liga leaders Barcelona scored two late goals to draw 4-4 with Villarreal in a remarkable game.
The champions led 2-0 through Philippe Coutinho and Malcom.
But Villarreal then led 4-2 with Samuel Chukwueze, Karl Toko Ekambi, Vicente Iborra and Carlos Bacca scoring.
The struggling hosts had Alvaro Gonzalez sent off and Barca took advantage with substitute Lionel Messi’s 90th-minute free-kick and Luis Suarez’s injury-time equaliser.
Barca are eight points clear of second-placed Atletico Madrid going into Saturday’s meeting at the Nou Camp.
Act I: Barcelona in control
Barca named Messi, Gerard Pique and Ivan Rakitic on the bench before games against Atletico Madrid and Manchester United – and it looked a wise decision as they raced into an early lead.
Suarez had two efforts saved – including one from the halfway line – by the time they took the lead.
Malcom, making only his second La Liga start, unselfishly squared the ball for Coutinho to tap home a close-range opener. And the summer signing from Bordeaux doubled the score four minutes later with a header from Arturo Vidal’s cross.
At that stage it looked as if they were going to blow Villarreal away with Coutinho hitting the post when he clipped the ball over Sergio Asenjo. The Brazilian then had an effort saved by the goalkeeper from 25 yards out.
Act II: Villarreal mount unbelievable comeback
Villarreal started the day only one point above the relegation zone but looked like world beaters from the moment Nigerian teenager Samuel Chukwueze ran on to a long ball forward and hit the post before slamming the rebound home.
The Catalans could not cope with the pace of Chukwueze and Ekambi throughout and that combination brought their second-half equaliser.
Ekambi did well to keep Chukwueze’s ball in play down the right wing. And with keeper Marc-Andre ter Stegen off his line expecting a cross, the Cameroon international somehow beat him at his near post from an almost impossible angle near the byeline.
The Estadio de la Ceramica was rocking at this point and got even louder when Iborra put them into a scarcely believable lead.
READ: Wolves beat 10-man Manchester United
The former Leicester City man ran on to a through-ball from Manuel Morlanes before poking the ball past the onrushing Ter Stegen.
They pushed and pushed for more goals and Chukwueze was unlucky not to get his second when his deflected effort from near the edge of the box was tipped on to the bar by Barca’s German keeper.
Goal number four came when Santi Cazorla, who was majestic in midfield, played a brilliant pass from his own half to substitute Bacca, who held his nerve to go round Ter Stegen and shoot past Samuel Umtiti on the line.
At that stage Barcelona were shaken and with Messi booked for dissent, their sixth yellow card of the game, a frustrating game seemed to be coming to an end.
Act III: Red card gives Barca lifeline
Everything changed when Villarreal defender Gonzalez was shown a second yellow card for a petulant foul on Suarez from behind.
They had to make a change in a bid to shore things up, with veteran Italian defender Daniele Bonera coming on for Chukwueze. The 37-year-old would not touch the ball in his six minutes on the pitch.
Victor Ruiz will rue his decision to foul Messi on the edge of the box as the Argentine stepped up to curl home a free-kick off the inside of the far post with 12 seconds of normal time remaining.
The Catalans went all out for an equaliser which came with the final kick of the game. A corner was half-cleared to Suarez, who hit a wonderful 20-yard effort on the bounce that flew past Asenjo and broke Yellow Submarine hearts.