The Canaries were on level terms within four minutes when Damien Francis converted a cross from the hard-working Leon McKenzie, and it was his second-half header that secured the win, making it four goals in six games for the ex-Wimbledon midfielder.
The Saints kicked off attacking the River End but it was the home side that creating the first shooting chance with Kasey Keller saving Phillip Mulryne's shot in the second minute.
In the 13th minute Mike Riley turned down penalty appeals when Darren Huckerby's cross appeared to be handled by Jason Dodd.
At the other end Paul Telfer tested Robert Green with a long-range volley.
After 20 minutes Huckerby set up Francis but his fierce drive was well-saved by Keller.
Against the run of play Beattie put the Saints ahead when his first-time 20-yard drive found the net via the inside of Green's right-hand post.
Norwich drew level when Mattias Jonson released McKenzie down the left and his low cross picked out Francis. His right-foot shot from 12 yards out went in off Keller's left-hand post.
Mulryne had a goalbound shot blocked as the home side kept up the pressure.
There was a scare for City five minutes before the break but Green did well to beat away Dexter Blackstock's low drive as the youngster turned and fired in one movement.
Two minutes later Dodd's free-kick was deflected goalwards by Telfer but Francis saved the day by heading the ball over for a corner.
Former Canary, Darren Kenton, was booked just before the interval for a late tackle on the lively McKenzie.
The visitors started strongly in the second half forcing two corners in the first five minutes.
Keller did well to turn a shot from Francis for a corner, but when David Bentley sent in the flag-kick Craig Fleming headed the ball goalwards and Francis' back header beat Keller to put Norwich ahead.
Bentley was booked for a foul then his inviting cross from the right eluded everyone in the Saints penalty area.
There was the customary nail-biting finish for the home fans before they could finally celebrate that first Premiership win.
MAN OF THE MATCH: Damien Francis (Norwich) - Scored two and came close on another couple of occasions plus cleared a shot off his own line.