Thomas Muller has put Bayern Munich ahead from the penalty spot to leave CSKA Moscow's Champions League hopes hanging by a thread.
The Russian side, who must win and hope that Roma draw against Manchester City, almost took a surprise lead when Roman Ermenko's cross found Seydou Doumbia, but his header drifted just past Manuel Neuer's right-hand post.
However, CSKA's early chance appeared to shock Bayern into life as first Gianluca Gaudino had an effort blocked before Jerome Boateng's shot was inches away from nestling in the top corner of Igor Akinfeev's net.
The 2013 European champions were then awarded a penalty on 18 minutes after Franck Ribery drew a foul from Bebras Natcho.
Muller duly stepped up to send his spot kick beyond the reach of Akinfeev and give CSKA's hopes of qualification an early setback.
Midway through the half, the visitors were almost back on level terms as Doumbia found himself one-on-one with Neuer, but the German international was able to save with his feet.
Bayern continued to pose their own threat in attack and nearly dented CSKA's hopes further as Mario Gotze was afforded time to shoot from the edge of the box, but saw his effort blocked.
With moments of the half remaining, Bastian Schweinsteiger was denied by Akinfeev as Bayern went close to taking full control at the Allianz Arena.