Champions League holders Real Madrid fell to a 3-1 home defeat by AC Milan on Tuesday in the group stage with striker Kylian Mbappe unable to find the net again.
The 25-year-old France captain has scored once in his last six matches for Madrid across all competitions, including three losses for Los Blancos.
Malick Thiaw headed the Italian side ahead before Vinicius Junior levelled from the penalty spot for the hosts.
Alvaro Morata struck against his former side to restore Milan's lead before the break and Tijjani Reijnders netted the third to secure Milan's victory, AFP reports.
Madrid were unable to bounce back strongly from the 4-0 thrashing by Barcelona in late October, their last outing after Saturday's La Liga match at Valencia was postponed because of devastating floods in the east of Spain.
Players from both sides wore t-shirts before the match reading "We are all Valencia" while in one stand a giant Valencia regional flag was unfurled for a minute's silence.
In the 90 minutes that followed, Paulo Fonseca's Milan, seventh in Serie A, outclassed Madrid.
"We are going through a period when our opponents are punishing us a lot and we have to keep working so that this doesn't happen again," Madrid defender Lucas Vazquez told Movistar.
Los Blancos have let in nine goals in their last three home matches.
"We have to be worried, the team's not giving a good account of itself," said Madrid coach Carlo Ancelotti.
"The team is not compact, we have to be more compact, more organised, we've let in a lot of goals... we're not well organised on the pitch and we have to work on that."
Milan have won the competition seven times, behind only record 15-time champions Madrid, but have not reached a final since 2007, when Ancelotti led them to the trophy.
This victory harked back to their glory days and Fonseca praised his team's bravery.
"The players came here with courage, didn't have any fear... in the first half we created plenty and in the second half we were on the back foot, but we fought together," said the Portuguese coach.
"We definitely deserved to win."
Ancelotti, who won the Champions League twice as a player and then twice as a coach with Milan, only made one change from the Clasico humiliation, bringing in Luka Modric for Eduardo Camavinga.
Madrid fell behind in the 12th minute. Thiaw's near-post header from a corner flew past the helpless Andriy Lunin to earn the Serie A side the lead.
Mike Maignan saved from Mbappe at the other end as Madrid hit back, with Vinicius winning a penalty as he fell under a clumsy tackle from Emerson Royal.
The Brazilian, who finished as runner-up in last week's Ballon d'Or ceremony in Paris when he had been favourite to win, coolly dispatched it with a cheeky dinked Panenka effort.
- '11 lions' -
Milan regained the lead in the 39th minute through former Madrid striker Morata, who reacted quickly to fire home after Lunin saved from Rafael Leao.
Mbappe, yet to find top form in a Madrid shirt since his move from Paris Saint-Germain and particularly frustrated in the Barcelona defeat, broke in again before half-time but Maignan saved his low effort.
Ancelotti took action at half-time, bringing on Camavinga and Brahim Diaz, and it opened up the second half for an end-to-end affair.
Lunin made a superb flying save from Leao's header before the winger set up Reijnders at the end of a superb solo run to turn home for Milan's third.
Antonio Rudiger smashed home but was offside and Maignan denied Diaz with a fine late save, killing any Madrid hopes of a classic European comeback.
Madrid have now lost two of their four matches and are in the middle of the table, provisionally 17th, one place above Milan.
Their next Champions League match is at Anfield against Liverpool, by when Ancelotti will hope to have solved some of his team's growing problems.
Morata thought his team's work-rate was crucial to their impressive victory in the Spanish capital.
"It was important for us to know the value we have and that when we are 11 lions on the pitch, it is very difficult for a team to beat us," he said.