Dougie Freedman's side suffered losses to lowly Peterborough and Sheffield Wednesday over the festive period and fell behind after just 11 minutes here.
Nikola Zigic headed his fifth of the season for Blues but the hosts hit back to lead by half-time with goals from Marcos Alonso and Chung-Yong Lee.
A second-half penalty from Keith Andrews settled the matter and Zigic saw red as Blues three-match unbeaten run came to an end.
The hosts started much the brighter, Chris Eagles cutting in from the right and trying his luck with an early long-range strike but Jack Butland was equal to the challenge.
The Trotters threatened again moments later as Jay Spearing hit a superb looping volley from 30 yards which just dropped wide of the post.
But it was Lee Clark's side who seized the advantage. Chris Burke's right-wing corner hung in the air and Zigic came through a crowded scene to nod home from six yards.
Bolton's frustration continued to build when Eagles flashed a shot across goal after being played in by Kevin Davies' backheel.
They did not have to wait much longer for the goal their dominance deserved after Tyrone Mears burst down the right and delivered a teasing ball for Alonso to provide the headed finish, outmuscling Curtis Davies to do so, in the 27th minute.
It got even better for Freedman's side just past the half-hour mark, Lee skipping past two defenders, rounding Butland and squeezing the ball in from a tight angle.
The impressive Spearing linked well with Davies and the veteran striker forced a smart stop from Butland as Bolton finished the half on top.
Clark turned to his bench for inspiration early in the second half, bringing on Wade Elliott for Jonathan Spector.
The veteran winger was soon involved, feeding Burke down the flank but his cross cleared everyone in a packed penalty area.
Burke tried to atone but his 20-yard strike was well held by Adam Bogdan as Blues began to grow into the game.
But after Steven Caldwell handled in the box, Andrews stepped up to calmly steer the spot-kick past Butland in the 79th minute.
Zigic was given his marching orders late on after picking up two bookings in little over a minute.
Source: DSG