But impressive Shrewsbury were back in it three minutes after the interval, Goss guiding a perfectly-placed shot from the edge of the box past goalkeeper Niki Maenpaa after a Diedhiou clearance had fallen into his path.
Out-of-sorts City were fortunate to earn a second chance after an error-ridden display against inspired opponents.
Lee Johnson made six changes to the team hammered 4-0 at home by Brentford on New Year's Day and handed young centre-back Taylor Moore the captain's armband.
Shrewsbury were sharper to the ball from the outset. Josh Laurent's shot brought an early save from Maenpaa, who also had to tip over a Ryan Giles cross.
Dan Udoh fired just wide from the edge of the box, with the visitors, backed by a large contingent of vociferous travelling fans, dominating and threatening an upset.
Marley Watkins went close with a couple of headers as City began to find some rhythm, but at other end Goss had a shot blocked following a corner.
Shrewsbury played the better football for half an hour, but Diedhiou's goal sent some confidence through his team and Kasey Palmer twice went close to doubling their advantage after 41 minutes.
First the midfielder saw a sweetly-struck volley parried by the diving Joe Murphy and from the resulting corner the Shrews goalkeeper did even better to keep out Palmer's close-range header.
When the visitors began the second period as they had done the first, Goss applied the finishing touch to equalise.
Seconds earlier a Giles cross had flashed across goal with Udoh just failing to get on the end of it, and it was the Shrews fans making all the noise.
Still the Shrews looked dangerous. Laurent hit a post with an audacious chip from the corner of the box and Aaron Pierre fired over.
Weimann shot wide in the closing stages but Shrewsbury ended up on top, as they had been for most of the game.