Neither side managed a shot on goal until 29 minutes when Dave Hibbert notched his sixth of the season, sweeping in a left-footed shot on the turn after a corner.
An unlucky bounce denied Jake Robinson after half-time but Shrewsbury upped the pressure in the second after 69 minutes when Joss Labadie fired low beyond David Button from 25 yards, before going close again a minute later.
Joel Grant was the pick of the Crewe attack but after firing over from five yards in the first half went on to miss two good chances late on.
Substitute Anthony Elding also skimmed the bar with his first touch and Byron Moore hit the post.
Graham Coughlan headed against the post for Shrewsbury who kept their first clean sheet of the season.