Scott Twine's free-kick ensured Bristol City avoided a nightmare week and earned a 1-1 draw at Watford, denying their hosts a fifth straight home win.
Marc Bola netted his first Hornets goal to put Watford ahead after just six minutes but Twine ensured injury-hit City avoided losing for a third time in six days.
Twine spurned a decent chance to give the Robins a second-minute lead, firing wide from the edge of the box after Anis Mehmeti had sparked a swift counter-attack.
Watford replied by taking the lead a few minutes later. Imran Louza was the architect with a 70-yard pass from his own half that saw Bola sprint in behind the City defence.
The former Arsenal youngster's first touch was top class, allowing him to slot calmly past goalkeeper Radek Vitek.
City lived dangerously when Haydon Roberts' challenge toppled Jeremy Petris in the box but referee Paul Tierney saw nothing untoward.
Vitek was able to parry Edo Kayembe's drive as Watford came again - and the Czech, on loan from Manchester United, was required to make another stop on the line when Nestory Irankunda arrived untracked at the back post.
Mehmeti launched a long-ranger that was comfortably saved by Watford goalkeeper Egil Selvik as City eventually regained some poise.
They then drew level in the 29th minute after Petris brought Sinclair Armstrong down on the edge of the box and Twine whipped the free-kick past the wall to beat Selvik - who should have done better at his near post.
Zak Vyner made an important block from Mamadou Doumbia to stop Watford regaining the lead soon after.
Armstrong won a free-kick on the edge of the box four minutes into the second period but this time Twine opted to cross into the box and Watford cleared.
Luca Kjerrumgaard sent a tame header at Vitek before Selvik pulled off a good save at the other end to tip a low drive from Mehmeti round a post.
It had developed into an end-to-end affair, with Bola failing to hit the target from close range from Watford's next attack of note.
Selvik did well to get a leg in the way of a shot from Armstrong as he bore down on goal.
Substitute Othmane Maamma saw a first-time effort batted away by Vitek at his near post after City failed to deal with a corner, with the goalkeeper pulling off an even better stop within seconds to keep out Kjerrumgaard's header.
Vitek was needed again, this time to parry a shot from Kwadwo Baah, another Hornets substitute. Watford dominated the final minutes with Tom Ince, another substitute, seeing a shot saved but City hung on.
The managers
Watford's Javi Gracia:
"It is not the result that we expected or we wanted.
"You see the stats today, we had many chances and more possession but it wasn't enough because when we had the chance we didn't kill the game. If you don't kill the game then anything can happen.
"In the second half, we lost balance and didn't have the power we needed. We ran a lot, we made a big effort but we only got a point.
"We played more with our hearts than our heads. We didn't do enough runs behind. That is something we have to work on."
Bristol City's Gerhard Struber:
"It was a really big point. In our situation with all the players who are not available, the boys were outstanding together. The bounce back was on a really good level.
"Not every player was in his best position but it was a really good performance. They left everything on the field so I am super happy with the spirit and energy that gives us a good feeling going into the international break."
On Twine's goal and performance:
"Scott (has) outstanding technical power with his monster leg.
"It helped us to score in this way but I like his energy at the moment - his work ethic on the field to invest everything.
"You do not see it that often that players on this level work really hard against the ball but this was the key - players with high technical level were involved in our defensive pressing moments."