City could not make it an Easter double as they became the latest victims of Shrewsbury's unbeaten home record.
Having beaten Southend on Good Friday, Phil Parkinson's side were looking to shock another of the promotion pack.
But there was no repeat of their New Year's Eve victory as they suffered a sixth straight defeat on the road.
Having started fairly brightly, City were undone by Shrewsbury's third corner in the 16th minute.
They could not clear an almighty scramble in the box and right back Jermaine Grandison scored from close range.
Mark Wright was instantly denied a second by a good save from Matt Duke and the winger was just wide with a curler.
City were under the cosh with Grandison a real danger on Shrewsbury's right flank.
But Craig Fagan wasted a great chance to equalise after 27 minutes, volleying wide from right in front of goal after James Hanson had nodded the ball in this path.
Parkinson had named an unchanged starting line-up. But Kyel Reid and Chris Dagnall both came on for the second half.
Fagan had an early half-volley saved by Chris Neal as City were more of a match for their high-flying hosts.
Matt Duke tipped over a free-kick from Matt Richards but had one or two indecisive moments.
Reid threatened a couple of times but City could not find an equaliser.