Gavin Mahon and Tamas Priskin scored their first Premiership goals and Hameur Bouazza bagged a brace to keep Watford's slim survival hopes alive.
Bouazza was on target twice in a fine Watford fightback
Matthew Taylor curled in to put Pompey ahead but Bouazza's penalty levelled the game after Priskin was fouled.
Mahon hit a fierce volley to put the hosts ahead and Priskin tapped in for 3-1 five minutes after the break.
Kanu then hit the bar before Bouazza scored Watford's fourth and Arnold Mvuemba pulled a goal back for Pompey.
Early on, it had seemed as though the Premiership's basement club had already accepted relegation as their fate.
Their non-existent marking and toothless midfield all combined to leave Pompey in control in the spring sunshine.
And the visitors were soon ahead when Priskin gave the ball away cheaply and his defence compounded his mistake by backing off Taylor and allowing him to bend a sweet strike beyond Ben Foster.
Perhaps Watford had one eye on their FA Cup semi-final with Manchester United next Saturday.
But Pompey, who beat United two days ago, were not exerting themselves too much either.
Lapses of concentration were almost inevitable - and when Foster picked up what seemed a deliberate Tommy Smith back pass without being penalised, the referee proved he was susceptible, too.
Then Pompey's defenders got in on the act, allowing Priskin to jink his way from the right flank and into the box, where Djimi Traore upended him.
David James had hoped to create a Premiership record by claiming his 142nd clean sheet but was left to pick the ball out of the net after Bouazza's confident spot-kick.
Suddenly, Watford were awake and showing some belief, with Clarke Carlisle heading off target after Jordan Stewart's free-kick fashioned a half-chance.
Then came a moment of brilliance as Mahon ran on to the ball on the edge of the area and returned it with venom straight into the top corner.
Just five minutes after the break, Watford added to their advantage when the lively Priskin ghosted in at the far post to volley in Steve Kabba's low cross.
The home side's lead could have been cut when Kanu beat three men in the box only to crack his shot against the bar.
Then followed the James and Bouazza show, with the Pompey keeper winning round one when he denied the Watford midfielder with a fine save.
James thought he had won again shortly after, but Bouazza stroked the ball home after the keeper had saved.
There was still time for Pompey to test Watford's nerves, substitute Mvuemba showing great touch and technique to control Gary O'Neil's cross and crack in an excellent volley.
Watford boss Aidy Boothroyd:
"I'm delighted with this result and the main reason for that is that we have taken a lot of knocks but still keep coming back.
"We bounced back from a woeful display when we were beaten on Saturday but there were some terrific performances from my players in this game.
"Now we have to focus on the weekend and a game against Manchester United."
Portsmouth boss Harry Redknapp:
"When we were 1-0 up I could not see any danger but then they got a penalty and scored from a well struck shot.
"We lost our discipline and became a bit ragged and we got what we deserved.
"We should have been full of confidence after Saturday's win against Manchester United so there are no excuses for a disappointing performance like this."
Watford: Foster, Mariappa, DeMerit, Carlisle (Doyley 90), Stewart, Smith, Francis, Mahon (Bangura 84), Bouazza (Chambers 90), Priskin, Kabba.
Subs Not Used: Lee, Williams.
Goals: Bouazza 28 pen, Mahon 45, Priskin 51, Bouazza 73.
Portsmouth: James, Pamarot, Primus, Stefanovic, Traore (Kranjcar 60), Hughes, O'Neil, Davis (Mvuemba 79), Taylor, LuaLua (Douala 60), Kanu.
Subs Not Used: Ashdown, O'Brien.
Goals: Taylor 16, Mvuemba 81.
Ref: L Mason (Lancashire).