Sergio Aguero scored a hat-trick as Manchester City survived a scare to book a place in the FA Cup fifth round with a resurgent victory over Watford.
The Championship side stood on the verge of a famous result after Fernando Forestieri finished from Troy Deeney's flick, and Deeney added another for the visitors before half-time.
But a lacklustre City pulled a goal back on the hour when Aguero tucked in, and the Argentine striker then curled in his second to level the tie.
Hornets keeper Jonathan Bond let in Aleksandar Kolarov's shot to gift the 2013 finalists the lead before Aguero completed his hat-trick with a header in the final minute.
Four second-half goals maintained City's 100% home record and four-goal average in domestic competitions this season, as Aguero's personal tally reached 25, but the two late strikes meant the scoreline flattered the hosts.
And City, pursuing a domestic treble in addition to their Champions League aspirations, were pushed close by a superb counter-attacking display from Beppe Sannino's Watford side.
Only Bayern Munich have beaten City at the Etihad during a season in which they have now scored 110 goals in all competitions.
But Manuel Pellegrini's side could not find their usual fluency and in the first half were undone by their opponents' 5-2-3 formation, which allowed them to defend in numbers and break forward quickly.
The visitors repeatedly got the ball forward to the excellent trio of Forestieri, Deeney and Ikechi Anya and the home defenders could not cope.
Forestieri had already wasted one opportunity with a poor touch, before his 21st-minute opener. Cristian Battocchio's diagonal pass was flicked on cleverly by Deeney and this time the Italian kept his head to slot in.
City were without injured striker Alvaro Negredo, but they still fielded a strong side including Yaya Toure and Aguero and could hardly blame their pedestrian start on their line-up.
After half an hour Watford punished that lethargy again. A poor pass out of defence by Martin Demichelis was quickly fired back in by Sean Murray, Anya slipped the ball to Deeney, and the striker easily beat Costel Pantilimon in the City goal.
Seeking to spark his side into life, Pellegrini brought on Vincent Kompany and Pablo Zabaleta at half-time and then introduced Stevan Jovetic after 57 minutes.
And three minutes after the last of the substitutions, City had a goal back as Kolarov zipped in a low cross from the left and, although Bond saved Dzeko's effort, Aguero tucked in.
The Argentine brought City level with a curling finish into the top corner as the hosts' momentum grew, but it still looked as if Watford might hang on for a replay.
Then came Bond's error - and, at the death, a fourth from Aguero that at least spared the Hornets keeper the knowledge his slip had been the crucial one.
Watford manager Beppe Sannino:
"I am proud of my lads because today saw my team give this emotion.
"It is a little bit bitter because at 2-2 we were still in the game. We just couldn't manage the last few minutes.
"At the end of the first half I had this desire (to win) but I knew the game was not finished and we had to play for the 90 minutes, and more.
"In the second half Manchester City were unbelievable and showed us their full strength. I tried to change things but the quality of Manchester City is far superior than any change you can make tactically."
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.