It needed a brilliant John Ruddy save to prevent Sears cancelling out Johnson’s blockbuster strike midway through the first-half and the Town frontman tested the Canaries’ ‘keeper again before Grabban bundled the ball over the line for the vital second goal.
Town made two changes to the side that beat Birmingham last time out, Richard Chaplow coming in for his first start since joining on loan from Millwall, Jay Tabb returning to the starting line-up with Jonathan Parr and Paul Anderson dropping to the bench. New loan arrival from Leicester, Chris Wood, was among the substitutes that also included 17-year-old Kundai Benyu.
Tyrone Mings had to be alert and strong to stop Grabban getting in on goal inside the first couple of minutes, Tabb having the first shot on target soon after, his volley bouncing comfortably into hands of Ruddy.
Tommy Smith’s well timed tackle ended Grabban’s run into the box, Jonny Howson’s firing wide from the resultant corner.
Howson had his effort blocked after Town didn’t clear the danger from a corner, Cole Skuse earning a yellow card after catching Johnson.
Chaplow robbed Martin Olsson but couldn’t find Daryl Murphy but it was the Canaries who got the breakthrough on 23 minutes, Johnson sending a screamer into the roof of the net after Grabban had crossed from the right.
Sebastien Bassong hacked clear as Sears looked to get in on Luke Chambers’ ball then the former West Ham striker had a gilt-edged chance to level for Blues on the half hour, taking Murphy’s cross in his stride, cutting inside Olsson but Ruddy did well to deflect his shot over the bar.
Sears tested Ruddy again with a right foot rocket from the edge of the box, Wes Hoolahan then given space to volley at Bart Bialkowski from 30 yards, the ‘keeper holding firm in the last opening of the half.
Luke Varney replaced Chaplow at half-time, the Blackburn loanee flicking the ball on with his first touch, Johnson relieved to see his clearance go over the bar as Chambers challenged.
Christophe Berra came to Town’s rescue to keep out Grabban at the near post, Johnson heading wide from the corner that followed.
Bialkowski saved comfortably from Grabban’s 30 yarder, Sears’ shot smothered at the other end before Norwich introduced Cameron Jerome on the hour for Nathan Redmond.
The substitute had an immediate impact, cutting inside Berra and his shot cannoned off Grabban and into the net to extend the Canaries’ lead on 62 minutes.
Sears, who carried Town’s main threat on the day, tested Ruddy with another right foot drive, Parr replacing Kevin Bru for the last 20 minutes.
Bialkowski kept Town in the game when he saved superbly from Jerome after the striker galloped through on goal from Jonny Howson’s pass, then at the other end
Ruddy spilt Tabb’s free-kick and after the ball bounced around in the Norwich box, Parr’s shot was deflected over.
Wood entered the fray for the last 10 minutes to make his debut for Blues, Murphy the man replaced.
The alert Tabb released Sears with a quick free-kick, the striker’s lob over Ruddy going in until Russell Martin headed off the line.
Mings picked up Town’s second booking for a foul, Martin finding the sidenetting after Jerome had flicked on from a free-kick.
Wood headed wide in Blues’ final chance, the derby honours going to the Canaries.
Norwich: Ruddy; Whittaker, Martin, Bassong, Olsson, Tettey, Johnson, Redmond (Jerome 61, Hooper 90), Howson, Hoolahan (Dorrans 82), Grabban. Subs not used: Rudd, Turner, Andreu, Garrido. Booked: Olsson, Tettey.
Town: Bialkowski, Chambers, Berra, Smith, Mings, Skuse, Tabb, Chaplow (Varney 46), Bru (Parr 68), Sears, Murphy (Wood 78). Subs not used: Gerken, Clarke, Anderson, Benyu. Booked: Skuse, Mings.