On 27 January 2017, Snodgrass joined West Ham United on a three-and-a-half-year deal for a fee of £10.2 million. He made his West Ham debut on 1 February 2017, coming on as a 64th-minute substitute for Pedro Obiang, in West Ham's 0–4 home defeat by Manchester City. His first start for the club came away at Saint Mary's Stadium against Southampton, which West Ham won 1–3. In August 2017, having played 15 games for West Ham without scoring, Snodgrass was told that he was free to leave the club either permanently or on loan.