League-leaders Norwich went into the match as favourites on the back of their formidable home form, which had seen the Canaries record 11 successive victories.
Southampton had the better of the first half, however, and they took a deserved 32nd-minute lead when Barnard followed up Rickie Lambert's 30-yard free-kick to nod home.
Norwich's cause was then hindered by Darel Russell's red card, the midfielder given his marching orders for violent conduct.
The Saints took control of the match and they should have added further goals when Adam Lallana twice struck the woodwork.
Alan Pardew's men secured the win after 77 minutes, though, with Jason Puncheon pulling the ball back for Barnard to bag his second of the match.