Benteke broke the deadlock from the penalty spot with his 15th goal of the campaign and N'Zogbia made the points safe with a superb free-kick.
Ashley Westwood's late own goal could not prevent Villa's first win in nine league games and ended a run of four successive home league defeats.
Paul Lambert's side also looked more secure in defending set-pieces than in recent games, with Ciaran Clark impressive.
It was a vital three points for the midlands club ahead of successive matches away to Arsenal and at home to Manchester City.
But West Ham have now lost five successive away games and are in danger of being sucked towards the relegation zone.
A dire first half was soon forgotten after 74 minutes as Villa celebrated breaking the deadlock, referee Mark Clattenburg awarding a penalty when Mark Noble brought down N'Zogbia. Up stepped Benteke to send Jussi Jaaskelainen the wrong way with his spot-kick.
Just four minutes later N'Zogbia doubled Villa's lead with a superb free-kick after James Tomkins brought down substitute Darren Bent.
N'Zogbia curled the ball over the defensive wall and past Jaaskelainen for his first Premier League goal of the campaign.
Westwood unintentionally set up a tense finale when he headed the ball past Brad Guzan from a Joe Cole cross. Then in injury time Guzan blocked a shot from Kevin Nolan and turned aside a Carlton Cole header as Villa survived by the skin of their teeth.
- Sports & Recreation
- Paul Lambert