Vale got a dream start when they took the lead with little more than two minutes on the clock.
From Tom Sang's throw-in wide on the right, Crewe defender Max Conway miscontrolled, Rico Richards took possession and then checked, curled in a left-foot cross which ballooned to the edge of the penalty area and Shorrock took careful aim before planting a 20-yard left-foot volley just inside the left upright - only his second goal for the club, having bagged his first on Boxing Day last season.
It was enough to earn Vale a pretty much warranted half-time lead - but the game turned four minutes after the break when former West Bromwich Albion midfielder Harper, on his first full appearance for Vale, was sent off.
Having picked up a first-half yellow card from referee Thomas Kirk for a late challenge on Joel Tabiner, he then received another for his late challenge on Omar Bogle - and it dramatically altered the pattern of the game.
Crewe were transformed as shots and passes flew in and around the Vale box with increasing regularity.
Max Sanders' shot deflected wide, then it was his free-kick from just outside the box which took a looping deflection before being kept out by Ripley just under his crossbar and stayed just the right side of the line as the Vale keeper fell to earth.
Ripley then had to be at his best, twisting in mid-air to keep out a Ryan Cooney piledrive by turning it over for a corner before Lankester got to the byline but failed to find his feet. For all their possession, Crewe could not find a decent and decisive final ball.
But, just when it seemed the Vale's luck might hold, in the second of the seven minutes of added time, Lankester came up with the answer, converting Conway's cut-back from close range, as he became the second Jack of the night to do the trick.