Watford made a fast start and took the lead when Ikechi Anya headed the ball across goal to Troy Deeney, who found the far corner from a tight angle.
Anya was proving to be a menace down the left-hand side and he almost set up a second for Deeney but his two crosses were scrambled away by the Wigan defence, before another pull-back just evaded Gianni Munari.
The visitors' pressure paid off when McCann headed in McClean's corner just before half time to send the teams in level.
After half time, Ben Watson almost repeated McCann's goal but his header flashed past the far post and James McClean forced Gomes into another near-post save as the Latics pushed hard.
Both sides struggled to create many clear-cut opportunities in the second period, but Deeney headed in Anya's cross at the far post to give the Hornets victory.