Manchester City booked an FA Cup quarter-final at home to Reading with a comfortable win over Aston Villa.
Yaya Toure gave the home side an early lead when he smashed in from close range after Aleksandar Kolarov's corner fell into his path.
Mario Balotelli doubled the lead when he finished beautifully high into the Villa goal after racing on to Toure's raking pass.
And David Silva made sure of victory after the break with a fierce drive.
Villa managed only two shots on target and the inquest will have already begun as to why manager Gerard Houllier left key attackers such as Ashley Young, Stewart Downing and Marc Albrighton on the bench.
The French manager was made to pay for his decision after only five minutes.
Kolarov's left-wing corner was nodded towards goal by Patrick Vieira. The ball then struck Ciaran Clark's arm en route to landing at the feet of Toure, who quick as a flash lashed in.
It was unlucky for 21-year-old Clark, who was filling in at central defence and doing his best to keep one eye on the lively Balotelli.
Unfortunately for him and fellow defender Richard Dunne, neither could keep pace with the speedy Italian forward, who ran on to Toure's long ball and provided a sumptuous finish to make it 2-0.
City scored the goals but periods of ball possession were shared - the difference being Villa lacked bite in the opposition final third.
They did cause slight panic in the City defence when Emile Heskey cut inside into the area and tried to place his shot into the bottom left but England keeper Joe Hart managed to push away the effort.
It was expected that Villa boss Houllier would make changes at the break but he waited until the 71st minute to bring on the cavalry and that was only in reaction to going 3-0 down.
City's third was again a thing of beauty. Pablo Zabaleta delivered a looping cross from the right which was headed out by Chris Herd but only to Silva who arrowed the ball past keeper Brad Friedel.
The American stopper kept the deficit down to three with two good blocks to deny Carlos Tevez and a low save to prevent fellow City substitute Jo from scoring.
Villa's second-half attacks were restricted to free-kicks around the City area, but they were either easily cleared by the home defence or sailed over the bar.
Villa fans were left disgruntled while City still have hope of ending their 35-year spell without a trophy.
90:00+3:05 The game is over, as the referee blows his whistle.
90:00+1:56 Ashley Young concedes a free kick for a foul on Aleksandar Kolarov. Joe Hart takes the free kick.
90:00+1:26 Joao Alves Jo takes a shot. Save by Brad Friedel.
90:00+0:02 Free kick awarded for an unfair challenge on Fabian Delph by Carlos Tevez. Free kick taken by Barry Bannan.
87:18 Barry Bannan takes a shot.
86:59 The referee blows for offside against Pablo Zabaleta. Brad Friedel takes the free kick.
86:48 Carlos Tevez takes a shot. Save by Brad Friedel.
84:22 Pablo Zabaleta is penalised for handball and concedes a free kick. Ashley Young has an effort direct from the free kick.
82:09 The offside flag is raised against Joao Alves Jo. Ciaran Clark takes the free kick.
82:09 Substitution (Man City) makes a substitution, with Dedryk Boyata coming on for Micah Richards.
82:09 Substitution Kyle Walker is brought on as a substitute for Richard Dunne.
80:28 Centre by David Silva, save by Brad Friedel.
79:38 Corner from the right by-line taken by David Silva, clearance by Richard Dunne.
79:38 Substitution Joao Alves Jo replaces Gnegneri Toure Yaya.
79:19 Carlos Tevez takes a shot. Save by Brad Friedel.
78:13 Unfair challenge on Stiliyan Petrov by David Silva results in a free kick. Stiliyan Petrov restarts play with the free kick.
77:26 Stewart Downing produces a cross.
76:22 Corner taken by Ashley Young, Carlos Tevez makes a clearance.
76:05 Barry Bannan decides to take the corner short.
75:46 The ball is delivered by Stewart Downing, blocked by Pablo Zabaleta.
73:08 The referee blows for offside. Chris Herd takes the indirect free kick.
72:09 Effort from the edge of the penalty box by Aleksandar Kolarov goes wide of the right-hand upright.
70:46 Substitution Ashley Young on for Michael Bradley.
70:46 Substitution Nathan Delfouneso leaves the field to be replaced by Stewart Downing.
69:53 GOAL - David Silva:Man City 3 - 0 Aston Villa David Silva finds the net with a goal from the edge of the penalty area to the bottom right corner of the goal. Man City 3-0
68:41 Unfair challenge on David Silva by Barry Bannan results in a free kick. The free kick is swung in right-footed by Carlos Tevez,
Michael Bradley manages to make a clearance.
68:12 Corner from the left by-line taken by Aleksandar Kolarov, Patrick Vieira takes a shot. Stiliyan Petrov makes a clearance.
67:12 Unfair challenge on Gabriel Agbonlahor by Patrick Vieira results in a free kick. Barry Bannan delivers the ball from the free
kick left-footed from left channel, Joleon Lescott manages to make a clearance.
66:14 Gareth Barry challenges Nathan Delfouneso unfairly and gives away a free kick. Stiliyan Petrov restarts play with the free
65:31 Effort on goal by Stiliyan Petrov from just outside the penalty area goes harmlessly over the target.
64:41 David Silva challenges Stiliyan Petrov unfairly and gives away a free kick. Richard Dunne takes the free kick.
60:47 Gabriel Agbonlahor gives away a free kick for an unfair challenge on Aleksandar Kolarov. Free kick crossed right-footed by
Carlos Tevez from left wing, Barry Bannan manages to make a clearance.
60:47 Booking Gabriel Agbonlahor booked for unsporting behaviour.
60:26 Gareth Barry decides to take the corner short.
60:17 Aleksandar Kolarov takes a shot. Stiliyan Petrov gets a block in.
59:12 Foul by Ciaran Clark on Mario Balotelli, free kick awarded. David Silva restarts play with the free kick.
59:12 Substitution Carlos Tevez is brought on as a substitute for Mario Balotelli.
59:12 Booking Ciaran Clark booked for unsporting behaviour.
57:44 Mario Balotelli concedes a free kick for a foul on Chris Herd. Richard Dunne takes the free kick.
57:44 Booking Mario Balotelli is shown a yellow card.
55:52 Long range effort by Gnegneri Toure Yaya goes harmlessly over the bar.
54:59 Ciaran Clark fouled by Mario Balotelli, the ref awards a free kick. Brad Friedel takes the free kick.
52:25 Foul by Micah Richards on Gabriel Agbonlahor, free kick awarded. Brad Friedel restarts play with the free kick.
50:52 Micah Richards fouled by Gabriel Agbonlahor, the ref awards a free kick. Mario Balotelli crosses the ball in from the free
49:03 Outswinging corner taken from the left by-line by Barry Bannan.
48:46 Gabriel Agbonlahor produces a cross, Joleon Lescott manages to make a clearance.
47:24 Foul by Ciaran Clark on Patrick Vieira, free kick awarded. Free kick taken by Joe Hart.
46:49 Outswinging corner taken by Barry Bannan from the left by-line, Pablo Zabaleta makes a clearance.
45:01 The match restarts for the second half.
45:00+2:05 The referee calls an end to the first half.
45:00+0:45 Outswinging corner taken from the left by-line by Aleksandar Kolarov, Effort from the edge of the box by Mario Balotelli goes
wide of the right-hand upright.
43:55 The official flags Micah Richards offside. Fabian Delph takes the indirect free kick.
42:51 Centre by Aleksandar Kolarov, clearance made by Michael Bradley.
41:25 David Silva concedes a free kick for a foul on Fabian Delph. Fabian Delph restarts play with the free kick.
39:34 David Silva concedes a free kick for a foul on Stiliyan Petrov. Michael Bradley takes the free kick.
32:04 Free kick awarded for a foul by Gabriel Agbonlahor on Patrick Vieira. Free kick taken by Jerome Boateng.
30:24 Emile Heskey takes a shot. Joe Hart makes a save. Inswinging corner taken from the right by-line by Barry Bannan, clearance
made by Patrick Vieira.
26:13 The assistant referee flags for offside against Aleksandar Kolarov. Free kick taken by Brad Friedel.
24:51 The assist for the goal came from Gnegneri Toure Yaya.
24:51 GOAL - Mario Balotelli:Man City 2 - 0 Aston Villa Mario Balotelli finds the back of the net with a goal from the edge of the penalty area to the top left corner of the goal.
Man City 2-0 Aston Villa.
24:12 The ball is swung over by Aleksandar Kolarov, save by Brad Friedel.
23:33 The assistant referee signals for offside against Gabriel Agbonlahor. Joe Hart takes the free kick.
20:30 Outswinging corner taken left-footed by Aleksandar Kolarov played to the near post, Shot from deep inside the area by Mario
Balotelli clears the bar.
16:15 Foul by Stiliyan Petrov on Patrick Vieira, free kick awarded. Free kick taken by Patrick Vieira.
16:15 Booking Stiliyan Petrov booked.
14:48 Free kick awarded for a foul by Richard Dunne on Gnegneri Toure Yaya. Gnegneri Toure Yaya takes the free kick.
14:11 Outswinging corner taken by Aleksandar Kolarov from the left by-line.
13:27 Barry Bannan takes a shot from just inside the penalty box which clears the crossbar.
12:40 The official flags Micah Richards offside. Brad Friedel takes the free kick.
11:37 Aleksandar Kolarov is adjudged to have handled the ball. Michael Bradley takes the direct free kick.
10:53 Barry Bannan takes a shot. Save by Joe Hart.
7:14 Effort from the edge of the penalty box by Gabriel Agbonlahor goes wide of the right-hand upright.
6:00 Corner from the right by-line taken by Barry Bannan, Gareth Barry makes a clearance.
5:51 The ball is sent over by Nathan Delfouneso, Joleon Lescott manages to make a clearance.
4:20 Outswinging corner taken left-footed by Aleksandar Kolarov played to the near post,
4:20 GOAL - Gnegneri Toure Yaya:Man City 1 - 0 Aston Villa Goal scored by Gnegneri Toure Yaya from close in to the bottom right corner of the goal. Man City 1-0 Aston Villa.
4:01 The ball is sent over by Aleksandar Kolarov, clearance by Ciaran Clark.
2:15 The ball is delivered by Gareth Barry, Stiliyan Petrov gets a block in.
1:22 Gabriel Agbonlahor sends in a cross, save by Joe Hart.
0:12 Free kick awarded for a foul by Mario Balotelli on Stiliyan Petrov. Richard Dunne takes the free kick.
0:00 The match has kicked off.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.