El municipio, con una extensión de 18,47 km² está situado en el sector norte de la comarca del Bajo Llobregat, fronterizo con las comarcas del Alto Penedés y el Anoia. El territorio limita por la parte norte con Abrera, por el sur con Castellví de Rosanes, al este con Martorell, al oeste con San Lorenzo de Hortóns y al noroeste con Masquefa. El municipio es atravesado, por banda y banda, por los torrentes de Can Llopart y Ca n',Estella, fusionándose con el Torrent dels Llops. El casco antiguo se desarrolló entre estos dos torrentes y alrededor de la iglesia. El relieve del municipio es plano con ligeras ondulaciones, apto para la explotación agrícola y ganadera, aunque este tipo de actividad ha disminuido en favor del sector industrial.