The capital club's third successive 2-0 win in the Premier League - and a 13th clean sheet of the season, the division's best record - moves them up to tenth, three points clear of the visitors, whose winless run was extended to four matches.
West Ham keeper Adrian was in fine form throughout the contest, and his heroics enabled the hosts to remain level before Collins broke the deadlock with a towering header six minutes from time.
Substitute Diame then sealed the win by finishing off a swift counter-attack in injury time as Norwich pushed for a late leveller.
Chris Hughton's side made a nervy start to the game, but created the first meaningful chance on 10 minutes. Nathan Redmond turned Guy Demel inside out and crossed for Gary Hooper, whose header forced Adrian into a smart save.
Sebastien Bassong then made a couple of important clearances for the visitors, before the creativity of Redmond unlocked the West Ham defence once again.
The 19-year-old winger’s ball over the top sent Snodgrass through on goal, but the Scot chose to shoot first time rather than take a touch and Adrian was able to make a comfortable stop.
West Ham began to get more possession as the half progressed, but were unable to create a noteworthy opportunity despite sending a series of crosses into the Norwich box - largely thanks to some fine defending from Bassong.
But just before the break, Norwich threatened again as Alexander Tettey's strike from just inside the area was pushed round the post by the diving Adrian.
Marco Boriello was sent on at half-time, replacing the ineffective Carlton Cole, and the on-loan Roma striker was almost presented with an instant chance, but Norwich goalkeeper John Ruddy was alert to clear the danger.
West Ham winger Matt Jarvis then cleverly pulled the ball back for captain Kevin Nolan just before the hour, but the in-form midfielder got the ball caught up in his feet and a great chance went begging.
Hooper spurned a good opportunity for Norwich shortly after, before Diame's firm strike from inside the box was brilliantly tipped over by Ruddy.
But Ruddy could do nothing about Collins' 84th-minute opener, as he powered home his first Premier League goal since March 2012 from Diame's cross.
And Diame himself then put the game to bed with his third goal of the season in the 94th minute to move West Ham further clear of the relegation zone.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.