El municipio de Puebla está situado en el noroeste de la provincia de Zamora, en la comarca natural de Sanabria. El término municipal incluye las localidades de Puebla, Castellanos, Robledo y Ungilde. El municipio, que tiene una superficie de 81,39 km², cuenta según el padrón municipal para 2018 del INE con 1409 habitantes y una densidad de 17,59 hab./km². Destaca el notable nivel de conservación de su patrimonio paisajístico y medioambiental, de características similares a las del cercano espacio natural protegido del parque natural del Lago de Sanabria.