The striker confidently stroked home the opening goal in the 37th minute of this energetic encounter before substitute Spase Dilevski secured maximum points in the second half.
Mauricio Taricco completed the full 90 minutes after his recent suspension and there was good news as young striker Jamie Slabber returned three months after dislocating his shoulder.
It was always a high-tempo affair and with the likes of Taricco, Michael Brown and Michael Carrick providing the experience, we enjoyed long spells of possession.
Despite that possession, goalmouth action and chances were at a premium until the latter stages of the first half and it was Marton Fulop who made the first save of note - a fine reaction stop from close quarters to keep out Liam Horsted.
Play soon switched back to the Pompey half though and after volleying just wide, Barnard opened the scoring with 37 minutes on the clock.
It was another fine goal to add to his growing collection that he started and finished. He picked the ball up 40 yards from goal, fed the excellent Ifil wide, continued his run, collected Ifil's inch-perfect pass and simply rolled the ball into the far corner with his left foot.
The second half followed a similar pattern as we enjoyed plenty of possession and kept Andrea Guatelli busy in the Pompey goal.
He saved well from Barnard before Fulop palmed away Harris' effort at the other end - his last action of note.
Guatelli showed safe hands again from Taricco but might have been disappointed as we doubled the lead after 71 minutes.
Dilevski - on for Brown with Hughes replacing Carrick, both on the hour - did well to get a ball under control after a run on the blind side of defence, came back onto his right foot and hit a shot that appeared to go through Guatelli on his near post.
The Aussie might have doubled his tally minutes later but side-footed wide and Guatelli was back to his best to tip aside from Mark Yeates, take a Dilesvki header and gather Barnard's shot just before full-time.
GUIDE TO THE ACTION
13mins: First real strike, Brown, 25 yards out, fizzed shot just wide.
19mins: Clark low shot comfortable save for Fulop.
29mins: Brown short corner with Taricco, played into box, low ball across six-yard line missed by inches by Barnard then Silva Sousa.
33mins: Fulop hesitated slightly as Eyles chased through ball with Kelly, Eyles reached it but momentum took him over.
35mins: Horsted through on goal, Fulop out quickly and reaction save.
36mins: Carrick pass to Brown headed away by Buxton to Barnard, volleyed just wide.
37mins: GOAL. Barnard played ball wide to Ifil, continued run into box, took return pass and coolly rolled left-footed into corner. 1-0.
43mins: Marney into Barnard, hold up play and rolled back to Marney, shot deflected just wide.
Half-time: Spurs 1, Pompey 0
49mins: Taricco ball into box, Silva Sousa got to ahead of defender, Barnard snap shot saved well to his left by Guatelli.
56mins: Harris curler after lost possession Fulop spectacular save.
60mins: Taricco curler straight at Guatelli.
71mins: GOAL. Ball into Dilevski, did well to get under control blind side of defence, came back on his right foot, low shot through Guatelli. 2-0.
78mins: Magic from Yeates down left side, turned Angus inside out, pull back to Dilevski side-footed just wide.
79mins: Yeates run and 20-yarder produced best save of night from Guatelli to tip wide at full stretch.
84mins: Another fine cross from Ifil from the right touchline met by Dilesvki header straight at Guatelli.
89mins: Barnard shot from 18 yards saved to his right by Guatelli.
Line-ups: Spurs: Fulop, Ifil, Taricco, Kelly, O'Donoghue, Carrick (Hughes, 64), Brown (Dilesvki, 64), Yeates, Marney, Silva Sousa (Slabber, 76), Barnard. Subs: Burch, McKie.
Portsmouth: Guatelli, Angus, Moore, Pulis (Carter-Harris, 84), Buxton, Pearce,Wilson (Day, 69), S Harris, Eyles, Horsted (Cousins, 45), Clark. Subs: D Harris.
In-form Lee Barnard followed up his hat-trick last week with his eighth goal in six games as our reserves beat Portsmouth 2-0 at Stevenage on Monday night.