Substitute James Weir, who replaced star striker James Wilson, netted both goals before Carlton Morris pulled one back from the penalty spot. Despite Raymond Grant's red card, Reece Hall-Johnson snatched a barely-deserved equaliser in the closing stages.
The Reds dominated the first period without really testing Remi Matthews in the Canaries' net. Wilson skied his effort when presented with a first sight of goal and was off target with two other efforts, one after linking superbly with Andreas Pereira.
A free-kick by Pereira led to a shout for handball inside the box but, although Joe Rothwell miskicked when picked out by Saidy Janko in a promising position, there was no great danger to the visitors. When Wilson hobbled off seven minutes into the second half, it left Warren Joyce's side without a recognised striker.
Pereira shifted into the central attacking role and worked Matthews for the first time just before the hour mark after a shrewd pass by Ben Pearson. The breakthrough arrived when Rothwell did well to backheel down the line to Guillermo Varela, who released Janko. Pereira's shot deflected up in the air and, when Louis Rowley appeared to nudge a header beyond Matthews, Weir had the simple task of touching into an empty net.
A second followed when Varela crossed from the right and Weir buried a firmly-struck drive past Matthews to double the lead and reward the Reds' possession football. However, City replied with 10 minutes left as Morris' cute penalty outfoxed Joel Castro Pereira following a handball by Rowley.