Ricardo Vaz Te almost gave Bolton the lead when he rounded City goalkeeper Kevin Ellegaard but saw his shot hit a post.
However, the hosts would not be denied an opener on 28 minutes, with Vaz Te's cross fired in by Danny Livesey.
Ellegaard then produced a fine save diving to his left and Bradley Wright-Phillips almost brought City level within minutes but his shot from an acute angle struck the woodwork.
But in their next attack, City got a deserved equaliser through Christian Negouai, who scored the final goal of last week's 4-1 win over Leeds, beat Andy Oakes with a half-hit shot.
After the break, Ellegaard denied Ricky Shakes with his legs after the Bolton man dispossessed Paul Collins on the edge of the City box.
Bolton keeper Oakes then saved a shot from Marc Laird before City took the lead on 79 minutes when Stephen Ireland’s cross was lashed home by Wright-Phillips, who hit a hat-trick last week, for his 11th league goal of the season.
The home side then pushed forward and sealed a 2-2 draw when Vaz Te glanced home Blessing Kaku’s cross from the left.
Bolton: Oakes, Barness, Cesar, Livesey (Hill 75), Platt, Campo, Kaku, O’Brien, Vaz Te, Shakes, Kribib (Luisi 72). Subs Not Used: Whitehead, Powell, McGill.
City: Ellegaard, Sommeil, Williamson, J D’Laryea, Collins, Warrender, Bennett (Johnson 90), Ireland, Negouai (Bermingham 66), B Wright-Phillips, Laird (Grimes 83). Subs Not Used: Schmeichel (GK), Lee-Matthews.
Attendance: 325