At the end of an evenly-contested first half, a moment of quality from West Ham opened the scoring.
Felipe Anderson found Yarmolenko just inside the penalty area and the Ukrainian struck the ball powerfully into the bottom corner.
Juan Mata spurned a glorious opportunity to equalise just after the break, shooting wide from Andreas Pereira's cross, while Lukasz Fabianski denied Harry Maguire from point-blank range.
Cresswell's stunning free-kick from 25 yards flew into the top corner six minutes from time to seal the victory.
The win lifts West Ham up to fourth place on 11 points, three clear of Man Utd, who drop to seventh.
West Ham: 28 Sep v AFC Bournemouth (A)
Man Utd: 30 Sep v Arsenal (H)