The Everton loanee tucked away just 66 seconds into the Group G match for what proved to be the winning strike in the Russian capital.
Madrid hit the frame of the goal three times but, despite CSKA having keeper Igor Akinfeev sent off late on for dissent, they could not find a way through.
Relive how the 90 minutes of action unfolded with Sports Mole's live text coverage below.
STARTING XI: Navas; Carvajal, Varane, Nacho, Reguilon; Casemiro, Kroos, Ceballos; Vazquez, Asensio, Benzema
SUBS: Courtois, Vallejo, Mariano, Modric, Llorente, Odriozola, Vinicius
STARTING XI: Akinfeev; Fernandes, Becao, Chernov, Nababkin; Bijol Akhmetov; Vlasic, Dzagoev Oblyakov; Chalov
SUBS: Kyrnats, Efremov, Sigurdsson, Nishimura, Magnusson, Gordyushenko, Zhamaletdinov
Viktor Goncharenko: "A good time to face them? This could be true. But, all of their youngsters are at a high level and want to show what they can do. They had intense matches against Sevilla and Atletico Madrid. Madrid are searching for their game in attack and Bale has been a superior player in recent games. It shows that they have tried to distribute the attacking responsibilities between their forwards. But I can not say, however, that Madrid's attack without Cristiano is better because we have to realise what an enormous number of the goals came from him."
Julen Lopetegui: "We face a strong side on their own patch and there's no bigger motivation than that. When the Champions League hymn sounds, there's no better motivator. We're up against some fine players and it'll be an extremely challenging game because this is the Champions League. It'll be a really tough game against a side of real pedigree. They've got some top players, the likes of [Alan] Dzagoev, and they're sure to put in a big performance."
CSKA MOSCOW SUBS: Kyrnats, Efremov, Sigurdsson, Nishimura, Magnusson, Gordyushenko, Zhamaletdinov
REAL MADRID SUBS: Courtois, Vallejo, Mariano, Modric, Llorente, Vinicius