Left-back Andrew Taylor’s first career goal put the Hornets on course for victory before strike pairing Marvin Sordell and Danny Graham scored in the second half.
Malky Mackay’s side are up to sixth place in the table and could yet prove unlikely promotion candidates.
In contrast Steve Cotterill’s visitors were without four key players due to a variety of problems and matters were made worse when Greg Halford was dismissed in added time.
Striker Dave Kitson was suspended while Liam Lawrence was ineligible as he waits to finalise a permanent move from Stoke.
Midfielders Michael Brown and Richard Hughes were also left out as a further appearance would trigger an automatic contract extension on their Premier League wages – which the club cannot afford.
Cotterill could only name four substitutes but his side came close to an opener inside 90 seconds when Dave Nugent fired over from 25 yards.
Nadir Ciftci then fired tamely at Hornets goalkeeper Scott Loach after a smart move involving Nugent and Nwankwo Kanu, before Sordell shot over the top for Watford.
Halford caused panic in the Watford defence with a huge throw-in, before he side-footed an effort wide from the edge of the penalty area.
Portsmouth goalkeeper Jamie Ashdown was called into action for the first time after a low shot from Graham before the hosts should have opened the scoring.
Taylor delivered the ball to the back post where Graham cushioned a deft header down into the path of Will Buckley.
The winger’s run was perfectly timed but he couldn’t keep the ball down and slashed wildly over the top.
Mackay’s side were on top and deservedly took the lead through a moment of magic from Taylor in the 42nd minute.
Jordon Mutch’s corner was punched away by Ashdown and Taylor watched the ball right onto his laces before smashing a perfect volley back into the top corner.
The Hornets doubled their advantage seven minutes into the second half.
Portsmouth were on the attack but lost possession cheaply and were caught with a clinical counter-attack.
Graham played the ball through to Sordell who was in on goal and made no mistake by beating Ashdown calmly.
Graham almost made it 3-0 minutes later as the porous visiting defence was opened up again but he couldn’t get his shot away.
But he did find the third in the 69th minute with a carbon copy of Sordell’s goal.
Kanu lost the ball in the centre circle and Mutch released Graham with a precise through ball. The former Middlesbrough man accelerated away from Ibrahima Sonko and clipped a left-footed finish past Ashdown.
Nugent headed straight at Loach in the dying seconds before Halford was dismissed.
The midfielder lunged in on Taylor and after taking offence to the defender’s protests was sent-off by referee Andy D’Urso for a headbutt.