Teemu Pukki sealed the points for Norwich with a late penalty after Middlesbrough's Marcus Tavernier had his earlier successful spot-kick disallowed.
Tavernier was adjudged to have touched the ball twice when he slipped during his run-up.
At Dean Court, Reading led 2-0 at the break as Lucas Joao's penalty was followed by Sone Aluko's strike.
Bournemouth responded superbly and Dominic Solanke's double came either side of goals by Arnaut Danjuma and Lewis Cook to complete the turnaround.
Watford could also have gone top but was held 1-1 at Queens Park Rangers, Ben Wilmot giving the Hornets the lead before Ilias Chair made the final score 1-1.
Swansea City kept pace with the leaders as captain Matt Grimes scored the only goal just before the half-hour mark at home to Rotherham United.
Bristol City beat Derby County 1-0 in the first game for the Rams since the sacking of manager Phillip Cocu.
Stoke City edged a seven-goal thriller 4-3 against Huddersfield Town as Tyrese Campbell scored twice for the hosts.
Late goals from Callum Styles and Cauley Woodrow earned Barnsley a 2-0 home win over Nottingham Forest.
Tony Pulis's first game as Sheffield Wednesday manager ended in a 1-0 defeat at Preston North End, with Tom Barkhuizen grabbing the winner after the visitors had Josh Windass sent off.
Cardiff City manager Neil Harris earned a 1-1 draw on his first return to Millwall since quitting the Lions last season.
Kieffer Moore got Cardiff's equaliser after Matt Smith's opener.
Luton Town drew 1-1 with Blackburn Rovers and Wycombe Wanderers shared a goalless draw with Brentford.