LuaLua netted his second goal of the season two minutes from time after James looked to have gifted Watford a share of the spoils with a first-half blunder.
Portsmouth winger David Thompson called Watford goalkeeper Ben Foster into action early on with a drilled 35-yard free-kick, the on-loan Manchester United star managing to parry to safety.
LuaLua carved out a chance for himself in the tenth minute, showing great feet to wriggle his way past three Watford defenders before firing over with a 20-yard curler.
Jay DeMerit came to Watford's rescue six minutes later when he stooped to head away Thompson's teasing right-wing cross, with LuaLua waiting to pounce.
LuaLua came within inches of the opening the scoring three minutes later when he picked up Niko Kranjcar's threaded pass on the edge of the box before shooting just wide of Foster's right post from 16 yards.
James found himself in trouble midway through the half when he flapped at Ashley Young's cross, but Linvoy Primus was on hand to bail out the veteran former Watford keeper by hacking clear.
Television replays showed Primus handled but referee Chris Foy waved away the visitors' penalty appeals.
Nwankwo Kanu nodded across the Watford goal soon after with a back-post header after LuaLua and Thompson had combined down the right.
James gifted his old club the opener in the 31st minute when he stupidly came racing out of goal to try and clear Young's right-wing corner and missed his punch, allowing a grateful DeMerit to head into an unguarded net from six yards.
Watford were forced into change four minutes later when Hameur Bouazza came hobbling off after a late challenge by Thompson, to be replaced by Tamas Priskin.
Sol Campbell should have levelled eight minutes before half-time when he found himself unmarked from a Pedro Mendes corner but headed hopelessly wide.
Kanu made it 1-1 in the final minute of the half with his eighth goal of the season.
LuaLua played in Thompson on the right wing and he picked out Kanu inside the six-yard box. Foster did brilliantly to turn away the Nigerian's initial shot, but could do nothing to stop him thumping the rebound into the roof of the net.
Foster pulled off another high-quality save in stoppage time to deny Mendes one of his trademark long-rangers when he came flying across his goal to push a 20-yard power-shot around a post.
Foster did not re-emerge after the interval after picking up a knock on his knee in a collision with Sean Davis. Richard Lee was called off the bench to replace him.
Sean Davis came close to ending his seven-month goal drought when he headed wide from Dejan Stefanovic's cross five minutes after the re-start.
Croat Kranjcar had Lee sprawling across his goal in the 55th minute when curled a 20-yard effort just wide after LuaLua had again tormented to Watford defence.
Substitute Lee came racing out of his goal to save at the feet of the Davis ten minutes from time after he had raced on to Campbell's long punt upfield.
Portsmouth sub Andy Cole had the ball in the net soon after but his header was ruled out for a foul on Lee.
The Pompey fans could celebrate for real in the 88th minute when LuaLua smashed home from the spot after DeMerit had tripped Kanu.