Simeon Jackson put the Canaries ahead midway through the first half with a blistering shot on the break and Wes Hoolahan extended their lead from the penalty spot after 35 minutes following a handball by home captain Louis Carey.
Jackson sealed all three points for the Norfolk club with his second goal of the game in the 64th minute.
The result keeps last season’s League One champions in third place while Bristol City remain without a home win this campaign and are now bottom of the table after Leicester, who are expected to confirm Sven-Goran Eriksson as their new manager this weekend, beat Scunthorpe 3-1 at the Walkers Stadium.
Bristol City boss Keith Millen made one change, recalling Jamal Campbell-Ryce at the expense of Christian Ribeiro.
Norwich had named the same side that started the midweek victory over Leicester but were forced into a change when Adam Drury was injured during the warm-up. Manager Paul Lambert handed Steven Smith his first start since his summer arrival from Rangers.
A superb tackle by Andrew Crofts denied Campbell-Ryce an early attempt on goal after Korey Smith’s clearance was deflected into his path.
Jackson put Norwich in front after 23 minutes. Hoolahan’s throughball ricocheted into Jackson’s path and the Canada international struck a shot with such venom that David James stood statuesque as it flew into the net.
Hoolahan had a go from 25 yards but his shot went just wide, while at the other end Albert Adomah stung John Ruddy’s palms with a shot from similar distance.
Another long-range effort led to Norwich’s second goal. Grant Holt’s shot struck Carey on the arm and Hoolahan added to his two goals against Leicester in midweek by beating James from the penalty spot.
Only a fine save from James to keep out Jackson’s far-post header prevented the Canaries from extending their half-time lead.
Bristol City replaced full-back Jamie McAllister with midfielder Lee Johnson at the break and the substitute almost scored with his first touch but his shot from the edge of the area struck the crossbar.
Jon Stead was then inches away from connecting with Adomah’s cross as the hosts continued to push forward in a bid to try to get back into the game. However, this left them vulnerable to the counter-attack.
Jackson beat on-loan defender Steven Caulker to the ball and flicked it past the onrushing James but his effort dribbled wide.
A minute later, Jackson did grab his second goal of the game. A long clearance by Ruddy found the striker in space inside the area and he calmly slid the ball past James.
Adomah looked like he would pull a goal back for the Robins but Smith made a superb last-ditch intervention in the 70th minute.