Revitalised under Gary Rowett, Birmingham recorded just their second home league win in over a year thanks to Donaldson’s late winner.
The striker had put the hosts ahead inside the first two minutes before Fernando Forestieri’s leveller in Rowett’s first home game in charge.
And Donaldson headed in David Cotterill’s cross with five minutes left as Birmingham exorcised the demons of the 8-0 home thumping to Bournemouth in their last St Andrew’s outing.
They did not climb out of the Sky Bet Championship bottom three, though, while Watford dropped off top to fourth.
Birmingham, in front of their biggest home crowd of the season of 18,309, were unchanged from the starting line-up that took a 0-0 draw at Wolves on Saturday but David Edgar and Demarai Gray returned to the bench.
Watford made five changes following a 3-1 win over Millwall, with the injured Sebastien Bassong and Gianni Munari out for Tommie Hoban and Lewis McGugan. Daniel Pudil, Keith Andrews and Matej Vydra were also replaced by Lloyd Doyley, Ikechi Anya and Forestieri.
Rowett had called for his side to make an early impact and they responded by taking the lead after just 80 seconds.
Stephen Gleeson was given time to cross from the left to find Donaldson and his prodded effort hit Joel Ekstrand and flew past Heurelho Gomes.
The lead lasted just five minutes though when Doyley crossed from the left and Forestieri found the corner after his initial shot was saved by Darren Randolph.
The frantic start continued as both sides pressed, although Watford looked more potent, and Cotterill sent a 25-yard effort wide.
Birmingham should have regained the lead after 28 minutes when Andrew Shinnie, eight yards out, planted a free header wide from Paul Caddis’ excellent cross.
Watford’s threat had subsided and Birmingham threatened, with Gomes saving Cotterill’s fierce free-kick on 34 minutes.
He denied the winger again sooner after, while Randolph turned Troy Deeney’s rasping effort over.
Birmingham continued pressing after the break and Juan Paredes cleared Koby Arthur’s cross as Donaldson waited to pounce.
Gleeson volleyed wide with the hosts on top and the Hornets feeing off scraps.
Gomes saved low from David Davis’ neat volley with 14 minutes left but Donaldson won the points in the 85th minute when he powered in Cotterill’s cross from six yards.
Randolph still had to save from Anya with two minutes remaining but Birmingham held on.