Daniel Farke's side has dominated the second tier with 27 wins from its 42 games so far, earning an immediate return to the Premier League after last season's relegation.
The Canaries suffered just a sixth defeat of the season after Dimitrios Giannoulis's red card after 17 minutes turned the tide at Carrow Road.
Emi Buendia had opened the scoring for the hosts before the sending-off, but Bournemouth made the most of its man advantage to consolidate its place in the play-off places.
Second-half goals from Sam Surridge, Arnaut Danjuma and Lloyd Kelly moved the fifth-placed Cherries to within eight points of Watford in the second automatic promotion place.
"It's massive. It's not an easy task when you get relegated to bounce straight back and today we've managed to do that," Norwich midfielder Todd Cantwell said.
"It's disappointing this evening. A controversial decision and some controversial goals but we can go home smiling knowing we're going up."
Norwich's promotion was guaranteed after third-placed Swansea was held to a 2-2 draw by bottom of the table Wycombe Wanderers, while fourth-placed Brentford drew 0-0 with Millwall.
Farke's men are 14 points clear of Swansea, which has four games left, and 16 ahead of Brentford, which has five matches left.
They are also eight points clear of Watford, which lost 1-0 at local rival Luton Town on Sunday (AEST).
Swansea was forced to claw its way back from two goals down against bottom-of-the-table Wycombe to keep alive its slim hopes of challenging Watford for automatic promotion.
Steve Cooper's side was able to cut the gap between second and third to six points thanks to its dramatic draw.
Admiral Muskwe put Wycombe ahead 19 seconds into the second half at Liberty Stadium when he lashed a lay-off from Uche Ikpeazu past Freddie Woodman from the edge of the area.
Five minutes later the visitors doubled the lead, Garath McCleary firing into the bottom corner.
But Jason McCarthy conceded a penalty for handball in the 80th minute and Jamal Lowe scored his fourth goal in three games.
Swansea substitute Liam Cullen headed home a Connor Roberts cross with eight minutes remaining.