Real Madrid boss Zinedine Zidane took responsibility for "a bad night" as the 13-time European Cup winners were handed a humiliating defeat by a second-string Shakhtar Donetsk side.
The Ukrainian champions arrived in Madrid without 13 first-team players after 19 positive Covid-19 tests throughout the club left them needing to call up youth-team players.But Luis Castro's young side were undaunted and swept into an amazing, but thoroughly warranted, 3-0 lead at Real's empty Alfredo di Stefano training ground.
Goals from Luka Modric and Vinicius Junior after the break gave Real hope, but there was no escape for the competition's most decorated side despite a dramatic finale.
Federico Valverde thought he had hit a stoppage-time leveller but after a check at the pitchside monitor referee Srdjan Jovanovic disallowed the goal for offside.
The defeat follows a shock 1-0 home defeat newly-promoted Cadiz in La Liga on Saturday.
"I did not see the team as I wanted and when you do not see the team as you wanted it is your fault," Zidane said.
"It's a bad game, a bad night. I'm the coach and it's up to me to find the solution."We deserve the criticism, all of us, and me first. Luckily we had a reaction in the second half because they don't deserve that, they are champions and it bothers me.
"I am responsible and I have to look for solutions because that cannot happen."
Club legend Zidane won the Champions League in each of his first three seasons in charge of Real, but his decision to rest players with next Saturday's El Clasico against Barcelona in mind was a rare, and huge, aberration.
Without captain Sergio Ramos - left in the stands with a knee injury - Real's defence was a mess and could do little to prevent Mateus Tete and Manor Solomon scoring either side of a Raphael Varane own goal.
Tellingly, Real have now lost seven of their last eight Champions League games without Ramos at the heart of their backline.
Former Tottenham midfielder Modric hit a stunning long-range strike to bring a ray of hope and, although Vinicius scored within 15 seconds of coming, on Shakhtar held on for a famous result.
"We have a match every three days. But hey, there is no excuse," Zidane said.
"These are decisions that I have made and I have to find what will lead us to become strong again and win. And I have few days."
'We're experiencing a nightmare'
Castro was asked in his pre-match news conference whether the game should have been called off thanks to their depletion, with the former Porto boss admitting "at the moment we're experiencing a nightmare."
Instead it was a first-half dream for his fearless team which contained eight players under the age of 23. Captain Marlos had already wasted a glorious chance to put Donetsk ahead when Tete did drive past Thibaut Courtois after some woeful defending from Varane and Marcelo.
Varane then toed into his own net after Courtois failed to hold a Tete shot, and Solomon swept in a fine third after some slick one-touch play had carved Real apart.
Real sent on the rested Karim Benzema at the break and got a foothold in the game when Modric scored a wonderful goal, arrowing a 25-yarder into the top corner.
The comeback was well and truly on when Vinicius scored with his first touch, sweeping in after a defensive lapse.
Shakhtar were camped in defence but had chances to seal it on the counter, Tete twice wasting good chances and Marlos seeing a fourth ruled out for offside.
There was more offside drama to come. Valverde's shot from a short corner beat 19-year-old goalkeeper Anatolii Trubin, but Vinicius was offside, right in his eyeline and the goal was chalked off.
After a summer which saw no incoming transfers, Zidane now has work on his hands to qualify from a group which also contains Inter and Borussia Monchengladbach.
He can make more history though - as no side has won the Champions League after losing their opening game.