Skipper Steve Schumacher fired them into a deserved lead after 12 minutes with a well-struck free-kick that took a deflection off the defensive wall to beat goalkeeper Steve Mildenhall.
It was reward for a good start from the Shakers as Scunthorpe, with new loan signing Mark McChrystal making his debut at the centre of the defence on loan from Tranmere, struggled to get their game together.
Leon Clarke equalised for the home side in the 52nd minute when he burst into the box from the right and steered a measured left-footed shot into the bottom far corner past goalkeeper Trevor Carson.
But Bury were back in front less than a minute later when a low cross from the left by Troy Hewitt sliced open a poor home defence for Tom Hopper to force the ball home from close range.
The introduction of Nathan Ellington from the substitutes' bench breathed new life into Scunthorpe. With his first touch he set up a good chance for Clarke, which he dragged wide, before keeper Carson produced a great reaction save from midfield man Josh Walker to deny Scunthorpe a point as they slipped to their first defeat in four games since new manager Brian Laws took charge.