City announced at 11.15 am that “extreme and escalating weather conditions” had forced the postponement.
The game at the Etihad Stadium had been due to kick-off at 4.30 pm.
“Due to extreme and escalating weather conditions and in the interests of supporter and staff safety, today’s match has been postponed,” said a statement on the official Manchester City website.
“This decision has been made by Manchester City’s safety officer following consultation with club stakeholders and officials at West Ham United.
“Further information regarding the rescheduling of today’s match will be published in due course.”