Having made five changes from the 2-0 loss to Hull City in midweek, Wrexham’s freshness showed early on as Windass clipped the outside of the post from a free-kick after Max Cleworth blazed over minutes earlier.
Watford’s best opening fell to Luca Kjerrumgaard who could only drill into the side netting.
But Wrexham’s positive start was rewarded on 21 minutes as Matty James’ lofted ball over the top found Windass who fired across goal and beyond Egil Selvik.
Their lead lasted just nine minutes though as Doumbia’s shot from just outside the 18-yard the box struck Cleworth before going in via the underside of the crossbar – his third goal of the season.
The game became somewhat ill-tempered in the latter stages of the opening half as Kieffer Moore escaped with a booking for a challenge on Mattie Pollock.
The Hornets then took the lead as captain Imran Louza’s chipped cross found Marc Bola whose blocked effort trickled into the path of Maamma who beat Arthur Okonkwo from close range.
It was the home fans who were then calling for a sending off following Bola’s strong challenge on Ryan Longman, although the left-back, like Moore, was yellow carded.
Wrexham came agonisingly close to equalising on the stroke of half time, but Callum Doyle could only head on to the crossbar, with Lewis O’Brien twice missing the target in added time.
Watford started the second half on the front foot, with Okonkwo denying Kjerrumgaard before Doumbia’s follow-up effort was blocked.
The home side started to dominate possession though, with their best opening falling to Longman who nodded wide at the back post from James McClean’s cross – with Moore heading wide soon after.
Shortly after Windass’ deflected strike flew narrowly wide, Wrexham thought they had levelled when the ball went in via Doumbia, although Nathan Broadhead and Ben Sheaf were offside in the build-up.
But Wrexham levelled in the final stages as Watford could only clear Windass’ corner to Rathbone who rifled beyond Selvik on what was his first league outing of the season following a lengthy spell out through injury.
Substitute Ryan Hardie almost won it at the death, but he blazed over as the points were shared.