Norwich City have stretched their unbeaten run against bitter rivals Ipswich to nine games thanks to a fine strike from James Maddison at Portman Road.

The 20-year-old maintained his superb form by scoring his third goal in four games, securing an exceptional fifth successive away win for Daniel Farke’s side.

Maddison’s calm finish in the 59th minute also stretched City’s unbeaten run to nine games to move them up to sixth place in the Championship table.

Perhaps more importantly, it maintained local superiority as the Canaries stretched their unbeaten run to nine games against Ipswich, a run stretching all the way back to 2010.

Farke made two changes to his starting line-up from the 1-1 draw with Hull, Marco Stiepermann coming in for James Husband at left-back after shaking off his groin issue and Wes Hoolahan into midfield in place of Mario Vrancic.

Ipswich made three changes from the team which started their 1-0 loss at Sheffield United, switching to a 4-3-3 formation with Jordan Spence in at right-back, former Norwich man Tom Adeyemi into midfield in place of Grant Ward and striker Joe Garner returning up front, with Miles Kenlock dropping out.

The hosts nearly took the lead in just the fourth minute after a slip from Ivo Pinto allowed Jonas Knusden – Town’s scorer in the last two derbies – to thrash a shot at goal, which smashed against the right-hand post after beating a sprawling Angus Gunn.

Martyn Waghorn had already tested Gunn at his near post and it was Town who had the best chances in the first 45 minutes.

Good work from Yanic Wildschut teed up James Maddison in the 18th minute but the midfielder pulled his low shot wide from 25 yards out.

Wildschut was again involved in the build-up as Cameron Jerome teed up Marco Stiepermann in the box in the 23rd minute but the German’s swept effort was weak.

Maddison curled another effort wide of the top-right corner soon after but the Blues finished the half the stronger, Harrison reed preventing a Waghorn corner going straight in and Garner heading wide from the next corner.

Top scorer David McGoldrick really should have put Town ahead in the 39th minute, after a soft foul was given against Wes Hoolahan out wide and Waghorn swung in the cross, which McGoldrick headed wide from 10 yards – leaving City the happier of the two sides to see the score still 0-0 at the break.

There was an early scare for City in the second half when McGoldrick looped a header just wide from a Spence cross from the right.

However it was the Canaries who claimed the lead, Wildschut tearing forward on the left in the 59th minute, Stiepermann cutting back a low cross to an unmarked Maddison in the box, who curled a low shot into the bottom-right corner.

Scored at the same end as the 2,000 watching away fans, Maddison was able to celebrate his third goal in four games as the prospect of a ninth game unbeaten in the league – and against the Tractor Boys – opened up.

The hosts started to get frustrated after the goal, Luke Chambers and substitute Flynn Downes booked in quick succession for late tackles and Mick McCarthy rolling the dice by throwing on attackers Freddie Sears and Bersant Cellina.

Downes nearly played Sears in with a nice pass in the 80th minute but Stiepermann did well to block and Sears hooked a shot goalwards soon after that Gunn held easily.

Skuse fired a pea-roller from 30 yards which Gunn also gobbled up gratefully in the 86th minute. Waghorn chipped just wide as four minutes of injury-time began, with Knudsen heading wide a late Waghorn corner with keeper Bialkowski forward – as the Canaries stood firm and started the party with their fans at full-time.

Norwich: Gunn; Pinto (C), Zimmermann (Hanley 65), Klose, Stiepermann; Reed, Trybull; Hoolahan (Husband 78), Maddison (Vrancic 87), Wildschut; Jerome. Unused subs: McGovern (GK), Oliveira, Murphy, Franke.

Ipswich: Bialkowski; Spence, Chambers (C), Webster, Knudsen; Nydam (Celina 76), Adeyemi (Downes 67), Skuse; Waghorn, Garner (Sears 76), McGoldrick. Unused subs: Gerken (GK), Iorfa, Connolly, Ward.

Booked: Spence (foul on Trybull, 31), Chambers (foul on Maddison, 71), Downes (foul on Trybull, 72)

Referee: Tom Robinson (West Sussex)

Attendance: 24,928 (2,009 away)

• Follow all the post-match reaction and analysis in our Matchday Live blog at pinkun.com/live