Limita al oeste con los cantones de San Isidro y Santo Domingo, al suroeste con el cantón de Tibás, al sur con el cantón de Goicoechea y al este y norte con el cantón de Vásquez de Coronado, y cuenta con una extensión territorial de 28,62 km².​ Su cabecera es el distrito de San Vicente, con categoría de ciudad.