Louis Saha celebrated his 200th Premier League appearance by claiming the winner at Fratton Park and sending bottom club Portsmouth spiralling to their seventh straight defeat.
Saha capitalised on an appalling Younes Kaboul error a minute before the break as he turned the French defender before rocketing his finish into the roof of the net past David James.
Crisis club Portsmouth will count themselves unlucky not to earn a point though as Aruna Dindane, Tal Ben Haim, Aaron Mokoena and Hassan Yebda all had fine chances denied by either the figure of Tim Howard or the woodwork.
Hart handed a home debut to Dindane and the Ivorian proved a handful for Sylvain Distin on his return to Portsmouth following his £4.5million switch to Goodison Park.
The home side carved out a fine opportunity for Dindane to open his league account as Kevin-Prince Boateng and Tommy Smith combined before the former Watford forward sent the striker through with a fine inside pass.
Dindane looked favourite but Distin recovered to exert enough physical pressure on the ex-Lens man for him to drill his finish at hip level, allowing Howard to save.
Boateng then rolled Distin inside the penalty area but fired over as Pompey grew in stature but were then to shoot themselves in the foot with a horrendous piece of defending by Kaboul.
Johnny Heitinga's hopeful punt forward was left by the Frenchman for Saha to get goal-side, bring the ball down with his chin and rifle a finish past James.
Portsmouth kept going after the break and Ben Haim's header was kept out by Howard's shoulder but, amid the pressure, Everton broke to fashion two chances of their own.
Firstly Marouane Fellaini's header was kept out by James and, from the resulting corner, Tim Cahill was denied by Smith on the goal-line.
Hart threw caution to the wind introducing Kanu ten minutes from time and playing three up front in a period of play where they really should have scored.
A Jamie O'Hara free-kick was headed back across goal by Smith for Mokoena to hit the crossbar and then Yebda's attempt was kept out by Leighton Baines who was waiting on the post.
In the final minutes the excellent Boateng had one last attempt but his drive was almost predictably saved by the outstretched arm of Howard.