Расположен на берегах бухты Крашенинникова Авачинской губы, в 25 км юго-западнее г. Петропавловска-Камчатского и в 26 км южнее аэропорта Елизово.
Городской округ расположен на восточном побережье Камчатки, на берегу Авачинской бухты, Тарьинской бухты, в 59 км по автодороге от краевого центра — города Петропавловска-Камчатского — и со всех сторон на суше окружён Елизовским районом.
На территории Вилючинского городского округа протекают реки Большой и Малый Вилюй, через городской округ протекает река Паратунка.
Также имеются озёра: Ближнее, Дальнее, Зеркальное, Чашечка, Чушечка и река Паратунка.
Климат города умеренный, с чертами морского и муссонного климата, близок к климату Петропавловска-Камчатского.
Как и в Петропавловске-Камчатском, случаются обильные осадки в виде дождя или снега.
Особенно часто это случается в октябре и в марте, когда за несколько дней может выпасть почти месячная норма осадков.
Вилючинск, как и весь Камчатский край, относится к районам Крайнего Севера.
Природа города представлена обширными лесами, горными массивами, акваторией бухты Крашенинникова.