The visitors saw the majority of the ball, but it was the Blues who were deadly in front of goal to secure the points.
Ronan Curtis bagged a brace before the break, with his second strike the result of some terrible defending.
Tom Naylor scored his third goal in as many appearances early in the second half and the prolific John Marquis was also on target before Oli Finney grabbed a late consolation from the spot.
Kenny Jackett made four changes from the side that drew at Plymouth in front of the Sky Sports cameras on Monday night.
Haji Mnoga came in for his full league debut, while Curtis returned from Republic of Ireland international duty.
There were also starts for Jack Whatmough and Ellis Harrison, as Callum Johnson, Rasmus Nicolaisen and Ben Close dropped to the bench, with Ryan Williams missing out through injury.
It was the visitors who dominated possession in the first half, but Pompey were more assured at the back and more clinical at the other end.
Craig MacGillivray – making his 100th appearance for the club – was called into action in the early stages, making a fine stop to deny Finney.
Skipper Naylor then made a well-timed challenge inside the area to stop Tom Lowery getting a shot away.
The Blues had not really threatened at the other end, but were celebrating taking the lead on 15 minutes.
CURTIS swapped passes with Marquis and scuffed his shot, but that took the ball past the grasp of Will Jääskeläinen and into the bottom corner of the net.
Crewe will wonder how they were not level just moments later after Harry Pickering cut back for Finney.
His goal-bound effort was blocked by Sean Raggett and MacGillivray somehow prevented Daniel Powell from converting the loose ball.
A fine John Marquis back-heel then started a quick counter and the striker received a pass back via Curtis and Marcus Harness, but fired wide.
Offrande Zanzala went close at the other end, with his header from a Lowery free-kick deflected behind off Jack Whatmough.
And Pompey were then gifted a second goal by their opponents late in the first half, as Crewe tried to play the ball across their defence.
Omar Beckles took a poor touch and Curtis took advantage to burst clear, being fouled first by the defender and then Jääskeläinen.
But referee James Oldham played the advantage and CURTIS was able to poke the ball over the line, despite the best efforts of Luke Offord to clear.
Crewe Alexandra 0
Jackett made a double switch at the break and replaced both his full-backs, as Mnoga and Cam Pring made way for Johnson and Lee Brown.
And the hosts almost add a third goal soon after the restart, with Sean Raggett’s header cleared from the line by Finney and Perry Ng then getting the ball to safety.
But they did extend their advantage on 50 minutes, as Harness’ cross was only cleared as far as NAYLOR, who guided the ball into the bottom corner from the edge of the box.
The Blues were well on top now and Curtis started a quick counter-attack, with Harrison sliding a pass across the box and Marquis’ cushioned effort rolling agonisingly past the post.
So it came as no surprise that a fourth goal arrived before the hour mark, although the hosts did get the rub of the green.
Crewe were – rightly – arguing that a throw should have been awarded in their favour, but a quick-thinking Harrison took it quickly and found Curtis.
He cut inside and drew a smart stop from Jääskeläinen, with Marquis hammering the loose ball against the crossbar.
But it bounced straight back towards League One’s top scorer and MARQUIS made no mistake with his header.
Crewe kept battling and MacGillivray did well to tip over Olly Lancashire’s header, not realising the defender had been flagged offside.
They brought Callum Ainley off the bench and he almost reduced the deficit, courtesy of a fierce effort that rattled the post.
Both sides were still looking to get forward when possible, although Harness and Harrison were given deserved rests for the closing stages, as Bryn Morris and Jordy Hiwula entered the fray.
Ainley sent a shot flashing narrowly wide in stoppage-time and Crewe did manage to score a late consolation.
Brown was rather harshly penalised when the ball struck his arm from point-blank range and Finney converted from the spot.
It meant the hosts were unable to add a clean sheet to their three-point haul, but it was still a convincing win for Pompey.
Pompey (4-4-2): MacGillivray; Mnoga (Johnson 46), Whatmough, Raggett, Pring (Brown 46); Harness (Morris 82), Naylor (c), Cannon, Curtis; Marquis, Harrison (Hiwula 87)
Goals: Curtis 15, 40, Naylor 50, Marquis 56
Booked: Cannon, Harrison
Subs not used: Bass, Nicolaisen, Close
Crewe (4-1-4-1): Jääskeläinen; Ng (c), Beckles (Lancashire 46), Offord, Pickering; Wintle (Ainley 66); Powell (Dale 59), Lowery (Murphy 59), Finney, Kirk; Zanzala (Griffiths 90)
Goals: Finney 90+4 (pen)
Subs not used: Richards, Johnson
Referee: James Oldham