The home side were on level terms within a minute, thanks to Mathias Svensson's header, but fell behind again when Fernando Hierro headed in a Stelios Giannakopoulos corner.
Darren Huckerby's second-half penalty gave City a deserved equaliser and Svensson's clinched victory when he headed home a David Bentley cross six minutes from full-time.
Norwich kicked off attacking the Barclay End goal and in the sixth minute a punch out by Robert Green reached Darren Huckerby who raced down the left wing before laying the ball inside to Youssef Safri who fired wide of the goal.
Five minutes later Mattias Jonson fed Huckerby on the left, but this time his low cross was cut out before it reached Svensson.
Wanderers survived penalty appeals for hand ball when Bentley's cross was blocked by Hierro.
Norwich won the first corner of the game in the 15th minute when Radhi Jaidi blocked Jonson's right-wing cross.
Referee Barry Knight did not miss a handball by Doherty and Okocha stepped up to score the resulting penalty. Green dived to his right, but Okocha's right-foot shot found the opposite corner of the goal.
The Canaries were level within a minute when Bentley's right-wing cross was headed inside the near post by Svensson from eight yards out.
Hierro restored the Bolton lead in the 23rd minute when he headed Giannakopoulos' left-wing corner past Green at the near post from six yards.
Green then made an excellent save to keep out Jaidi's header eight minutes before half-time.
In the 40th minute Bentley delivered an inswinging free-kick from the left which eluded everyone in the six-yard box and curled inches wide of the far post.
Bentley created a shooting chance two minutes into the second half, but his shot went wide.
The home side enjoyed most of the possession in the opening ten minutes but Green had to tip over a shot from Giannakopoulos.
Home fans thought referee Knight had awarded a penalty for a foul on Huckerby by Nicky Hunt, but he was signalling a goal-kick.
Bruno N'Gotty and Ivan Campo were booked for late tackles on Jonson and Huckerby respectively as City continued to do most of the attacking.
Norwich drew level when Speed tripped Bentley and Huckerby sent Jussi Jaaskelainen the wrong way as his right-foot penalty went inside the keeper's left-hand post.
Not surprisingly the visitors then went on the offensive and Norwich lost some of their momentum.
Paul McVeigh, on for Jonson, tried a long-range shot which went over before City got the deserved winning goal in the 84th minute.
Bentley crossed from the right wing and Svensson's powerful header beat the Bolton keeper at the far post.
The home side then proved that they can defend a one-goal advantage and sent their fans home in high spirits knowing that next week it is Chelsea away.
Man of the Match: Mathias Svensson – The big Swedish striker netted twice for the Canaries, with his second clinching a vital three points with time running out.