Had the Villa striker shown any self-confidence there were two clear chances he could have buried. Hartson, on the other hand, did just that either side of the break, the second delaying any thoughts of a Villa revival as it came within seconds of Dwight Yorke levelling the scores.
The Hammers were quicker off the mark with Michael Oakes lucky to get a foot to Samassi Abou's shot after less than a minute, but he was beaten fair and square in the 18th minute when Hartson gathered David Unsworth's through ball, shrugged off Alan Wright and Ugo Ehiogu to force his shot home.
It had taken almost half an hour before Ludek Miklosko at the other end saw any real action with a confident save from Savo Milosevic's shot. But urged on by Mark Draper and the excellent Fernando Nelson, Villa were working up a head of steam.
It continued into the second half when Yorke levelled the scores within a minute of the restart. A brilliant back-heel by Milosevic opened the door after a clever bout of close passing.
The celebrations were cut short when within a minute the Hammers strode to the other end and Hartson's bobbling 20-yard shot crept beyond Oakes' dive for the second.
It was ironic that the Villa goalkeeper's only lapse would decide the game as it was his superb performance, saving outstandingly from Hartson and the substitute Paolo Alves, which kept his side within sight of a point.
Such was the pressure that the visitors mounted in that last half-hour that the West Ham defence was often visibly pulling apart at the seams. But, galvanised by a handful of splendid saves by Miklosko and the miss of the match by Collymore 20 minutes from time, they held on and held out for the three points.