Three goals in seven second-half minutes decided the match, with the visitors reduced to 10 men shortly after.
Bolton started the game well, putting the visitors under pressure with a series of early corners. First Craig Davies was denied from long-range, before Jason Steele saved Medo Kamara's well-struck volley.
Minutes after the restart, Bolton were ahead. Chris Eagles burst through on the right, before seeing his attempted cross loop over Steele and into the goal.
A third goal in seven minutes instantly put the home team back in front when after Lee Chung-Yong was fouled in the box, Sordell stepped up and squeezed the ball past Steele.
Five minutes later Middlesbrough were reduced to 10 men, as Jonathan Woodgate received his second yellow card for pulling Sordell back.
The home side gained a measure of control after that and saw out the game to move within a point of the playoff positions.