It was a first win in six league games for Danny Wilson's side.
The Blades made much of the running in the first half but there was no way past inspired goalkeeper Chris Weale on his 31st birthday.
Weale made a flying save to his right to claw away Kevin McDonald's 20-yard drive and then came racing off his line to bravely block from Ryan Flynn at his near post following a strong run from the winger.
Weale then took centre stage again with a brilliant save to keep out a dipping free-kick from the edge of the box whipped over the defensive wall by Tony McMahon.
United's pressure was finally rewarded in the 63rd minute, skipper Michael Doyle stabbing the ball home from close range after Shrewsbury were unable to clear a left-wing cross.
Nine minutes later and it was two-nil, with the experienced Dave Kitson taking a touch to steady himself before drilling an unstoppable 25-yard shot into the corner of Weale's net.
Shrewsbury, without injured striker Marvin Morgan, found chances hard to come by although they halved the arrears three minutes from time when a 35-yard free-kick from Stephen McGinn, on loan from Watford, found its way in to deny George Long a clean sheet.