Collison was a tenth minute replacement for Matt Taylor after he had been caught by Peter Crouch attempting a scissor-kick in the box.
He scored deep into first-half injury time after being found by fellow substitute Ricardo Vaz Te, who had come on for the injured Joe Cole in the 11th minute.
Soon after the break, Cameron Jerome had a penalty shout turned down after a challenge by Joey O’Brien in the box.
Vaz Te then found Matt Jarvis to the left side of the box whose shot at goal from close range saw Asmir Begovic save.
At the other end, Peter Crouch shot from just outside the area but Jussi Jaaskelainen saved low down.
Collison saw a shot from the edge of the box blocked by Marc Wilson and Stoke then cleared after Vaz Te had run onto the loose ball.
Charlie Adam came on for Glenn Whelan and almost earned the Potters a point when he chested a ball down and then volleyed at goal, but his shot from 25 yards hit the crossbar and West Ham scrambled away.
Then deep into injury time, substitute Brek Shea thought he had won a penalty when the ball hit Guy Demel on the hand in the box but his appeals were waved away by referee Jonathan Moss as West Ham held on for the win.
The victory halted a run of five successive league away defeats and lifts the Hammers onto 33 points and further clear of the drop zone.
The result – only the second home league loss for Stoke this season – saw West Ham move up to 12th, level on points with the Staffordshire side, who are now 11th.