Shakhtar Donetsk stunned a lacklustre Real Madrid 3-2 in a Champions League Group B opener on Wednesday.
The Ukrainian side took a three-goal lead into the half and held on tight for a well-deserved result in Madrid.
The opening goal came in the 29th minute as a result of some fine link-up play -- Mateus Tete ultimately slotting a rolled shot into the far corner after a layoff from Viktor Korniienko just outside the 18-yard box.
Raphael Varane inadvertently turned a ball into his own net four minutes later. Thibaut Courtois' spilled save attempt of a Tete shot fell into the France international's path with a Shakhtar player looming.
Shakhtar completed the impressive first half three minutes before the break when Manor Soloman easily beat Courtois after lazy Madrid defending failed to track his run through the middle.
Substitute Vinicius Junior added another just 15 seconds after coming on. The former Flamengo forward robbed Marlos at the edge of the box and confidently beat Trubin with a low shot to the near post before the hour mark.
Marlos thought he had put Shakhtar up 4-2 10 minutes from time but was judged to have been offsides in the buildup. And Madrid celebrated a stoppage-time equaliser after a Federico Valverde deflected shot rolled in, but a VAR review overturned the goal due to an offside Vinicius obscuring the goalkeeper's view.
Madrid will next face Barcelona in the first Clasico of the new season on Saturday before returning to Champions League play with a visit to Borussia Monchengladbach on Tuesday, the same day Shakhtar will host Inter Milan.
The loss was a second consecutive home defeat after losing 1-0 at their Alfredo di Stefano stadium to promoted Cadiz on Saturday, further denting their confidence ahead of the match against Barcelona.
"In the first half we were not worthy of this competition," said Madrid midfielder Modric.
"It's obvious we need to improve, we lacked confidence today, especially in the first half, but we have to move on, we can't waste any time regretting what has happened."
Madrid boss Zinedine Zidane had insisted ahead of the game that he was not looking to the trip to Barca's Camp Nou but rested several big names against Shakhtar, choosing not to risk captain Sergio Ramos and starting without Toni Kroos and attacking talisman Karim Benzema.
Shakhtar's Portuguese coach Luis Castro meanwhile had described the numerous positive COVID-19 cases affecting his staff and squad as a "nightmare" but watched on in admiration as his players out-witted and out-ran their more illustrious opponents.