Match ends, Manchester City 4, Viktoria Plzen 2.
Manchester City survived anxious moments before the power of their attacking play secured another Champions League win against Viktoria Plzen at Etihad Stadium.
The result is unlikely to help City hit top spot in Group D - with a three-goal margin of victory required in their final game against holders Bayern Munich in the Allianz Arena.
But City once again demonstrated their capacity to score goals which will make them very dangerous opposition as they enter the knockout phase for the first time, having scored 41 goals in 10 games at home this season.
Sergio Aguero put them ahead from the spot but Tomas Horava's spectacular strike drew Plzen, without a point in the group, level before half-time.
Samir Nasri restored City's lead before Stanislav Tecl took advantage of more defensive slackness from City to equalise once more.
City then stepped up a gear with substitute Alvaro Negredo and Edin Dzeko on target to make it an ultimately satisfactory night for manager Manuel Pellegrini.
And it was a good night for recalled goalkeeper Joe Hart, who was blameless for Plzen's goals and distinguished himself with a couple of fine saves when they did get through.
Yaya Toure emerged as a substitute and picked up an injury-time booking that rules him out of the trip to Bayern - but which City may privately see as a blessing as it assures his availability for the last 16.
As expected City restored Hart in goal and also started with Micah Richards and Joleon Lescott, who have been very much on the undercard for manager Pellegrini this season.
Nasri almost took the early honours with a fierce 25-yard shot that struck the bar - although he should have done better than steer a close-range effort wide after he had been set up by Aguero.
For all their usual attacking invention, City were careless and vulnerable at the back as Plzen had opportunities, with adventurous defender Frantisek Rajtoral bursting into the area only to pull his shot wide.
Rajtoral was involved as City went ahead from the penalty spot after 33 minutes. He felt he was harshly penalised as Aguero sent in a cross - but the Argentine was not complaining as he scored easily.
Plzen, with nothing but pride to play for, were showing ambition and it was no surprise when they equalised two minutes before the break, Horava punishing Joleon Lescott's retreat with a thumping drive that gave Hart no chance.
Aguero was replaced by Jesus Navas at half-time and City quickly attempted to reassert their authority, Fernandinho bringing an athletic save from keeper Matus Kozacik just after the hour.
Nasri made the breakthrough after 65 minutes, showing great balance and awareness to steer home a volley after good work by substitutes Navas and Toure.
City, however, were still poor in defence and Plzen were level once more four minutes later as Tecl found room in the area to shoot low past Hart.
Pellegrini made another change when he sent on Negredo for Nasri - and the switch brought an almost instant reward as the Spaniard turned in a simple finish from Navas's low cross.
Right-back Rajtoral had been one of Plzen's biggest threats and Hart did well to block as he broke into the area once more.
Dzeko had struggled to make an impact, occasionally to the obvious frustration of City's fans, but he ended the night on a high note and confirmed the win by heading in from James Milner's cross.
You can catch up with tonight's Champions League action by checking out a photo album on the BBC Sport Facebook album.
- 14García Fernández
- 26DemichelisBooked at 72mins
- 7MilnerBooked at 40mins
- 25FernandinhoSubstituted forY Touréat 64'minutesBooked at 90mins
- 16AgüeroSubstituted forNavasat 45'minutes
- 8NasriSubstituted forNegredoat 75'minutes
- 42Y Touré
- 28CisovskyBooked at 49mins
- 11PetrzelaSubstituted forKovarikat 74'minutes
- 26KolárSubstituted forBakosat 86'minutes
- 12DurisSubstituted forWágnerat 90'minutes
- Firat Aydinus
- Shots on Target
Second Half ends, Manchester City 4, Viktoria Plzen 2.
Corner, Viktoria Plzen. Conceded by Joe Hart.
Attempt saved. Frantisek Rajtoral (Viktoria Plzen) right footed shot from outside the box is saved in the top right corner.
Yaya Touré (Manchester City) is shown the yellow card for a bad foul.
Foul by Yaya Touré (Manchester City).
Roman Hubnik (Viktoria Plzen) wins a free kick in the attacking half.
Yaya Touré (Manchester City) wins a free kick in the defensive half.
Foul by Pavel Horváth (Viktoria Plzen).
Foul by Jesús Navas (Manchester City).
Pavel Horváth (Viktoria Plzen) wins a free kick in the defensive half.
Attempt saved. Marek Bakos (Viktoria Plzen) header from the centre of the box is saved in the bottom right corner. Assisted by Roman Hubnik with a cross.
Substitution, Viktoria Plzen. Tomas Wágner replaces Michal Duris.
Goal! Manchester City 4, Viktoria Plzen 2. Edin Dzeko (Manchester City) header from the centre of the box to the bottom right corner. Assisted by James Milner with a cross.
Offside, Viktoria Plzen. Pavel Horváth tries a through ball, but Stanislav Tecl is caught offside.
Substitution, Viktoria Plzen. Marek Bakos replaces Daniel Kolár.
James Milner (Manchester City) wins a free kick on the left wing.
Foul by Pavel Horváth (Viktoria Plzen).
Attempt missed. Pavel Horváth (Viktoria Plzen) right footed shot from outside the box misses to the right. Assisted by Vaclav Prochazka.
Attempt saved. Frantisek Rajtoral (Viktoria Plzen) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Stanislav Tecl.