Paul McGuinness' side were made to work hard for the three points in the sunshine despite taking an early lead through Mats Daehli on his 18th birthday.
The Norwegian was on hand to finish off a neat move after Jack Barmby played in James Weir, who used his strength before pulling the ball back accurately for Daehli.
Bolton had threatened to draw level before Tom Youngs' shot was pushed away by Joel Pereira and Saul Hamer tucked the rebound into an unguarded net for the equaliser.
Ryan McConnell really should have restored the advantage on 69 minutes when somehow contriving to clear the bar from close range after Sam Byrne collected a Weir pass and shot against the base of the far post.
It was a let-off for the Trotters but the winner came in fortuitous circumstances with nine minutes left. Byrne, who worked hard all match and earlier misjudged a Barmby cross that crept through Robert Holding's legs, was the man behind the key goal.
The Irishman twisted and turned inside the area before firing towards goal with his left foot and the ball was helped past his own keeper, Jan Sievers, by Sam Bailey.
United: J.Pereira; Grimshaw, Dalley (A.Pereira 79), McConnell, Evans; Weir, Pearson, Rudge, Barmby, Daehli; Byrne. Subs not used: Willock, Gollini, Harrop, Fletcher.