Portsmouth's task was never going to be easy against an Everton side who had recorded nine clean sheets in their previous 13 games, had conceded just four goals and were unbeaten in five league games.
So when Baines put Everton ahead after four minutes with his first for the club, their job in hand became all that more difficult.
The nippy left-back took responsibility for the free-kick conceded by Sylvain Distin and placed his strike past a static David James and in off the left-hand post.
Hart delighted with 'massive' win
Even though Portsmouth went into the game with just goal difference separating them from the bottom three, many expect Paul Hart's side to survive because of the experience in the squad.
They also have an abundance of tall players who are a constant danger on set-pieces and midway through the half some of those players combined to pull the scores level.
A Portsmouth corner found its way to Nico Kranjcar, who lofted the ball back into the area for Johnson who in turn nodded the ball into the six-yard area for the arriving Crouch to head in.
Moyes disappointed with defeat at Portsmouth
Pompey, arguably more desperate for points than Champions League-chasing Everton, should have taken the lead soon after the restart but Crouch failed to conjure enough power with his header from Nugent's cross.
Crouch, again, was involved in the next good Portsmouth chance when he played in David Nugent with a cheeky pass but the former Preston man failed to get his shot past Howard who saved with his feet.
Portsmouth finally got reward for their pressure in the 75th minute when Crouch grabbed his 11th league goal this season by once again out-jumping the Everton defence from Sean Davis' corner.
Davis came close to scoring the home side's third when his superb half-volley cannoned off Howard's left-hand upright, but on the day two goals were enough to give Portsmouth a massive boost in their fight to avoid the drop.
Portsmouth boss Paul Hart:
"This was a massive win for us - we've steadied the ship and I'm not surprised with that performance.
"We started poorly from the kick off but they got their heads together and got back on track.
On two-goal hero Peter Crouch: "Peter is fantastic and he deserves the statistics of three in the last two. He works hard and get goals."
Everton manager David Moyes:
"We started well by scoring the goal but didn't capitalise on that.
"The team didn't defend well at set pieces. We knew about Peter Crouch's threat but we didn't stop it and didn't cope well.
"It's not common for us to make mistakes which is why it feels bad."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.