Match ends, Real Madrid 0, CSKA Moscow 3.
Real Madrid suffered their biggest ever home defeat in Europe as they were thrashed by CSKA Moscow in the Champions League.
The European champions, who had already won Group G, named a weakened team.
Fedor Chalov curled home CSKA's opener against the run of play and Georgy Schennikov volleyed in a second after Mario Fernandes' shot was saved.
Icelandic teenager Arnor Sigurdsson completed the convincing win with a strike from the edge of the box.
Real brought on Gareth Bale at half-time and the Welshman suffered an ankle injury, although he was able to play the rest of the game after receiving treatment.
The holders were booed off at full-time by their fans as they suffered a first home Champions League defeat in nine years.
CSKA Moscow, whose only two group wins came against Real, are out of Europe after Viktoria Plzen beat Roma 2-1 to finish third and clinch a Europa League place.
Real collapse after bright start
Real - who named Thibaut Courtois, Marcelo, Isco and Karim Benzema in their starting line-up - began the game brightly.
Marco Asensio forced three saves from Igor Akinfeev, with the Russian goalkeeper producing an excellent stop to deny Brazilian teenager Vinicius Jr. Federico Valverde was also frustrated by the visiting keeper.
But from the moment Chalov opened the scoring after a good surging run from Sigurdsson, the hosts imploded and only had one shot on target in the second half.
CSKA follow in footsteps of Italian giants
CSKA are the first team to win both group games against Real since Juventus in 2008-09.
Madrid had won 75 points of a possible 81 in their previous 27 home Champions League matches. Their last such defeat was 3-2 by AC Milan in October 2009.
Santiago Solari has won eight of his 10 games as Real Madrid boss since replacing Julen Lopetegui, but both the other matches have been 3-0 defeats - at Eibar and now by CSKA.
Roma also suffer shock defeat
Italian side Roma, who had already secured second spot in the group, suffered a surprise 2-1 loss in the Czech Republic.
Jan Kovarik gave Plzen the lead but Cengiz Under levelled five minutes later. Tomas Chory headed their winning goal, with Roma's Luca Pellegrini sent off in injury time for a second booking.
- 31Sánchez de Felipe
- 12MarceloSubstituted forCarvajalat 74'minutes
- 15ValverdeBooked at 90mins
- 18LlorenteSubstituted forKroosat 58'minutes
- 28Vinícius Júnior
- 9BenzemaSubstituted forBaleat 45'minutes
- 50Nascimiento Franca
- 2Figueira Fernandes
- 98OblyakovSubstituted forKuchaevat 89'minutes
- 42SchennikovBooked at 78mins
- 17SigurdssonSubstituted forNishimuraat 90+4'minutes
- 9ChalovSubstituted forHernándezat 84'minutes
- Artur Manuel Soares Dias
- Shots on Target
Second Half ends, Real Madrid 0, CSKA Moscow 3.
Substitution, CSKA Moscow. Takuma Nishimura replaces Arnór Sigurdsson.
Federico Valverde (Real Madrid) is shown the yellow card for a bad foul.
Foul by Federico Valverde (Real Madrid).
Nikola Vlasic (CSKA Moscow) wins a free kick in the attacking half.
Corner, Real Madrid. Conceded by Hördur Magnússon.
Attempt blocked. Vinícius Júnior (Real Madrid) right footed shot from the right side of the box is blocked. Assisted by Álvaro Odriozola.
Attempt saved. Isco (Real Madrid) right footed shot from outside the box is saved in the centre of the goal. Assisted by Daniel Carvajal.
Foul by Vinícius Júnior (Real Madrid).
Rodrigo Becão (CSKA Moscow) wins a free kick in the defensive half.
Substitution, CSKA Moscow. Konstantin Kuchaev replaces Ivan Oblyakov.
Attempt blocked. Federico Valverde (Real Madrid) right footed shot from outside the box is blocked. Assisted by Toni Kroos.
Attempt blocked. Vinícius Júnior (Real Madrid) right footed shot from the left side of the box is blocked. Assisted by Isco.
Offside, CSKA Moscow. Nikola Vlasic tries a through ball, but Abel Hernández is caught offside.
Foul by Daniel Carvajal (Real Madrid).
Arnór Sigurdsson (CSKA Moscow) wins a free kick in the attacking half.
Attempt missed. Marco Asensio (Real Madrid) left footed shot from a difficult angle on the left misses to the right. Assisted by Gareth Bale.
Álvaro Odriozola (Real Madrid) wins a free kick in the defensive half.
Foul by Abel Hernández (CSKA Moscow).