Ipswich kicked off and it was 12 minutes before either side got in a goal attempt, Darren Bent bringing a reflex save from Norwich keeper Robert Green.
Three minutes later his strike partner Darren Ambrose fired over when well placed.
At the other end on-loan striker David Healy snatched at a half chance and the ball sailed high over the bar.
Eight minutes before half time Norwich got in a shot on target, a volleyed lob from loan signing Leigh Bromby, but it was a comfortable catch for Andy Marshall.
It was only in first-half stoppage time that the home side looked like scoring. Healy's shot was tipped over by Marshall and Iwan Roberts half hit a close-range effort which was blocked on the line.
The second half began in similar fashion with the Canaries failing to get a vital touch in front of the Ipswich goal.
There were shouts for a penalty at both ends. Mark Rivers went down at one end and Matthew Richards at the other.
A 71st minute sub turned the game in favour of Ipswich. Ambrose made way for Dean Bowditch and his run down the left ended in a clearance which fell to Fabian Wilnis and his right-foot shot from 12 yards whistled inside Green's right-hand post.
Matters were made worst for the home side as Craig Fleming, injured in the build up to the goal, had to be replaced by Phil Mulryne.
Rivers made way for Ian Henderson and Clint Easton was replaced by Zema Abbey, but none of the City subs made anything like the impact of Bowditch.
In injury time, with the home side throwing players forward in search of an equaliser, Bent broke from the halfway line and stroked the ball past the advancing City keeper from the edge of the penalty area.
The large following of Ipswich fans went into raptures as it rolled into the back of the net to seal victory for the team from Suffolk.