Three days after a heroic performance against high-flying Fulham at Kenilworth Road, when the Town were denied a win by a 94th-minute goal, Graeme Jones' side went down to efforts from Marley Watkins, Famara Diedhiou - from the penalty spot - and Andreas Weimann as the hosts moved up to eighth in the table.
Jones made two changes for the Hatters' sixth game of December; the first enforced, with James Shea returning in goal in place of the injured Simon Sluga. The other switch saw Harry Cornick come back into the attack from kick-off, with Callum McManaman starting from the bench where he was joined by Martin Cranie, who replaced Lloyd Jones.
The hosts came into the match on a four-game losing streak, but they made the perfect start by taking a fourth-minute lead as Watkins stooped to head in Niclas Eliasson's cross from the left.
Lee Johnson's side dominated the opening 15 minutes in terms of possession, but they did not trouble Shea's goal further and gradually the Hatters started to come into the game, Cornick quickly closing keeper Daniel Bentley down to force a throw-in before whipping in a dangerous cross that the home defence did well to clear.
Matty Pearson then got his head on a left-wing cross from Kazenga LuaLua, but couldn't direct it on target, before Shea held onto a 15-yard shot from Weimann at the other end.
The Town keeper then had to tip a 25-yarder from City captain Liam Brownhill around the post, before comfortably fielding an acrobatic volley from the edge of the box from Diedhiou.
Soon after the half-hour Luke Berry became the first player into referee Oliver Langford's notepad for dragging Diedhiou down 30 yards from goal. Brownhill hit the free-kick well over the bar.
Shea's reactions were sharp to deny Watkins a second on 35 minutes, as the Robins' right winger met another Eliasson cross with a downward header at the far post, but the Town keeper pushed it away at the foot of the post.
City extended their lead a minute before half-time when Diedhiou converted a penalty after LuaLua was penalised for a trip on Hunt as the right-back burst into the penalty area.
Jones made one change at the break as Cranie came on for Bolton, with Bree switching to right wing-back and the substitute going into the heart of a back three.
TOWN: Shea, Bolton (Cranie 46), Pearson, Bradley (c), Bree, Tunnicliffe (Moncur 60), Mpanzu, Berry, Cornick, LuaLua (Sheehan 80), Collins.
Subs: McManaman, Shinnie, Moncur, Butterfield, Stech.
Yellows: Berry, Collins, Bradley, Pearson
ROBINS: Bentley, Hunt, Dasilva (Rowe 68), Nagy, Brownhill (c), Diedhiou (Rodri 84), Weimann, Watkins (Smith 80), Eliasson, Kalas, Williams.
Subs: Maenpaa (GK), Semenyo, Moore, Massengo.
Goals: Watkins 4, Diedhiou 44, Weimann 66
Yellows: Williams
REFEREE: Oliver Langford