Jay Emmanuel-Thomas hit his 18th goal of the season to earn Bristol City a 1-1 draw with Watford in an entertaining FA Cup third round tie at Ashton Gate.
The League One side looked to be heading out of the competition when Sean Murray shot Watford in front with a low right-footed drive from the edge of the box on 84 minutes.
But the cheers of more than 1,600 travelling fans had hardly died down when substitute Wes Burns broke clear down the right and pulled back a perfect cross for Emmanuel-Thomas to finish from close range.
It was a fair result to an absorbing game in which City gave as good as they got to confirm their improvement under new boss Steve Cotterill.
The hosts created some good chances, while their Championship opponents failed to match some promising approach play with a clinical final ball or finish.
Watford felt they were denied two penalties in the first half, the first when Diego Fabbrini went down under a challenge from behind by Liam Fontaine on 15 minutes. Referee Paul Tierney elected to neither point to the spot nor issue a caution for diving.
Five minutes before the break Gabriele Angella clipped the crossbar with a powerful header and also claimed he had been impeded when trying to reach the ball.
But City also had their moments. Joe Bryan's angled drive brought a sharp near-post save from Manuel Almunia on 25 minutes, while Sam Baldock had a long-range effort saved and Emmanuel-Thomas also went close.
Lewis McGugan had several half chances for the visitors and was denied by a goal-saving block from Fontaine just before Angella hit the bar.
Two of the Robins' young players, Bryan and Bobby Reid, showed up well, Bryan causing plenty of problems on the left flank.
Reid was only narrowly off target with a low 25-yard effort and impressed with his ability on the ball and range of passing.
Watford always looked dangerous on the break, with the willing Troy Deeney an elusive target-man alongside the dangerous Fabbrini.
The home side had a good chance to take the lead five minutes after the interval when Baldock raced onto an Emmanuel-Thomas through-ball and saw his low shot smothered by Almunia.
Marvin Elliott headed straight at the Watford keeper, but the visitors remained a threat and Deeney's 71st-minute shot was held by Elliott Parish.
The game became open as both sides pushed for a winner. City almost went ahead when Elliott nodded a Reid free-kick back across goal and Karleigh Osborne headed over from one of the best opportunities of the match.
After the goals City looked the more likely winners and Almunia had to tip over a dangerous cross from the impressive Burns.