The home side took the lead after just eight minutes when captain Steven Schumacher tucked in David Worrall's cross from close range.
It took Yeovil all of 90 seconds to equalise when Ryan Dickson found himself unmarked from a couple of yards out to tuck the ball past goalkeeper Cameron Belford.
And in an error-littered game, it took Bury just 10 minutes to restore their lead when Joe Skarz met Peter Sweeney's in-swinging corner at the near post to head home into the top corner.
Events took a turn for the worse for the relegation-threatened Glovers in the 33rd minute when Joe Edwards brought down Giles Coke in the area allowing Schumacher to step up and fire home his second from the penalty spot.
The visitors came close to pulling a goal back in the 69th minute when Luke Ayling's dipping 30-yard effort clipped the top of the crossbar, but they did pull a goal back in the 88th minute when substitute Steve Maclean converted Ayling's cross.