Villoldo se encuentra en el centro de la provincia, a 10 kilómetros al sur de Carrión de los Condes y a 30 km al norte de Palencia, en la Ribera del Carrión. Pertenece a la mancomunidad del Camino de Santiago. La carretera principal que llega a Villoldo es la C-615 de Palencia a Riaño; actualmente la variante evita el núcleo. Esta misma carretera es la que lleva a Carrión de los Condes. Además otras carreteras parten de este pueblo: la P-981 de Villoldo a Santillana de Campos, pasando por Lomas, Villalcazar de Sirga y Arconada. La carretera P-983 de Villoldo a San Cebrián de Campos y Amusco, supone el límite este del núcleo.