Manchester City's Champions League campaign is back on track but this crucial victory will be remembered for all the wrong reasons, after Yaya Touré was subjected to racist abuse from a section of the CSKA supporters. There were a couple of isolated incidents that overshadowed a battling performance in Moscow, where City negotiated freezing temperatures and a spray-painted pitch to pick up the three points that put qualification for the knockout stage within their grasp.

After falling behind to a goal from the former Manchester United winger Zoran Tosic, who punished some poor defending from Javi García, City struck twice in eight minutes to turn a game they had been dominating back in their favour. Sergio Agüero got both, two opportunist goals from the Argentina international taking his tally to four in five days and eight in his last six matches, as the striker punished a CSKA team that always looked vulnerable defensively.

The rain that Manuel Pellegrini feared would render a threadbare pitch unplayable – this was the first match to be played here for more than a month – never came on a bitter night when City almost ended up paying for their profligacy in front of goal in the first half.

There were some nervous moments for City to endure in the final 10 minutes in particular, as Ahmed Musa thundered a shot into the top corner only for the goal to be disallowed because of a foul on Touré seconds earlier and Joe Hart made a point-blank save to deny Keisuke Honda from close range with almost the final kick of the game.

CSKA had come into this game in a state of crisis. They had lost five of their previous seven matches in all competitions, failed to score in six of those games, conceded 14 goals in the process and slipped to sixth place in the league.

Their only win in that sequence was the less than convincing 3-2 triumph over Viktoria Plzen, the Group D whipping boys, in Saint Petersburg earlier in the month. To compound matters, Leonid Slutsky, the CSKA manager, who was already without several of his most influential players, including Alan Dzagoev, the team's playmaker, lost Vasili Berezutski to injury after six minutes.

By that point City could and should have been ahead but Touré, arriving unmarked at the far post, failed to touch in Agüero's glancing header from David Silva's corner. Whether or not Touré was hindered by the bounce of the ball on an even surface was unclear but that missed opportunity proved a sign of things to come in the opening half-hour as City controlled possession against limited opponents without showing a cutting edge.

Agüero spurned two decent chances in that period. The first came when he made a hash of turning in Pablo Zabaleta's cross from no more than six yards out. The second opportunity was symptomatic of the poor marking that was a feature of CSKA's woeful defending as Agüero nodded a free header from Touré's centre over the bar.

When Alvaro Negredo, set up by Aleksandar Kolarov, shot tamely into the hands of Igor Akinfeev from 12 yards there was a sense of inevitability about what would happen next as CSKA, who had offered little going forward, took the lead.

Akinfeev's punt upfield caused consternation in a City defence that never seems the same when Vincent Kompany, still sidelined with a thigh injury, is absent. García was beaten far too easily in the air by Honda, who flicked the ball on for Tosic to lift his shot over the onrushing Hart and into the net.

Within two minutes, however, City were level. Kolarov fed Silva and the Spaniard scampered clear on the left before delivering a low cross that Sergei Ignashevich tried to clear but succeeded only in slicing. Agüero was perfectly positioned to punish the central defender's error and prodded the ball over the line. It was a scrappy goal but it deflated CSKA and gave City the encouragement to take control of the game again.

Three minutes before the break Agüero grabbed his second of the evening, stooping to beat Akinfeev to the ball and head into the far corner of the net following Negredo's lovely cross with the outside of his left boot. Silva, with a 25-yard free-kick that Akinfeev was at full stretch to claw away, came close to making it 3-1 on the stroke of half-time.

Although CSKA's threat remained sporadic, City endured a scare early in the second half when Seydou Doumbia's far-post header, after Kirill Nababkin had escaped on the right flank, forced a diving save from Hart. When CSKA did beat Hart again through Musa's screaming shot from the edge of the penalty area, the referee's whistle came to City's rescue, after Touré took a kick in the head trying to clear Honda's free-kick. Hart then made his superb save to deny Honda.