Castromocho es un pueblo elevado en un pequeño teso sobre el plano del sector oeste de la Tierra de Campos palentina, rodeado de otras pequeñas elevaciones muy suaves. El río Valdeginate lo bordea por la parte este, creando una amplia banda de cultivos de regadío recorrida por numerosos arroyos y acequias.
El núcleo se sitúa tangente a la carretera nacional N-610 entre Palencia y Benavente, para la que se ha construido una variante de población que sustituye a la antigua vía de ronda del núcleo por el norte. Además, otras carreteras llevan a Capillas al SW, a Abarca de Campos al norte y Fuentes de Nava al NE.