Goals from Morgan Schneiderlin, substitute Rickie Lambert and Jay Rodriguez left Southampton 3-0 up with 18 minutes to play, before Norwich threatened to mount an improbable late comeback.

Johan Elmander and Robert Snodgrass struck twice in barely a minute to leave Chris Hughton's side on the verge of a memorable turnaround, only for Sam Gallagher to make victory safe for the hosts in stoppage time.

Victory took Southampton above Newcastle United to eighth place, six points below the European places, while Norwich remain 15th, four points above the bottom three.

It took the home side less than five minutes to break the deadlock, with Schneiderlin gathering a pass from Gaston Ramirez and clipping a composed finish past Norwich goalkeeper John Ruddy after a slick move.

Anthony Pilkington demonstrated Norwich's frustration when he attempted to punch in a cross from Gary Hooper before half-time, earning him a booking, and in the 57th minute Southampton made it 2-0.

Ryan Bennett accidentally steered the ball into the path of Lambert, who cut inside Jos Hooiveld to score just 64 seconds after rising from the bench to replace England colleague Adam Lallana.

Norwich manager Hughton responded by introducing Elmander, Ricky van Wolfswinkel and Nathan Redmond from the bench, but he saw Rodriguez extend the hosts' lead in the 72nd minute from Lambert's touch.

Still Southampton advanced, Rodriguez smashing a shot against the bar and Ruddy saving from Lambert, before the visitors belatedly came to life.

Elmander seized on a sloppy pass from Jose Fonte to reduce the arrears in the 85th minute and moments later, Snodgrass followed up a shot from Van Wolfswinkel to crash home Norwich's second.

A perilous period of injury time appeared to beckon for Southampton, but instead it was they who scored next, with Gallagher scampering in behind the Norwich defence to finally put the game to bed.