Расположен на берегах бухты Крашенинникова Авачинской губы, в 25 км юго-западнее г. Петропавловска-Камчатского и в 26 км южнее аэропорта Елизово.

Городской округ расположен на восточном побережье Камчатки, на берегу Авачинской бухты, Тарьинской бухты, в 59 км по автодороге от краевого центра — города Петропавловска-Камчатского — и со всех сторон на суше окружён Елизовским районом.

На территории Вилючинского городского округа протекают реки Большой и Малый Вилюй, через городской округ протекает река Паратунка.

Также имеются озёра: Ближнее, Дальнее, Зеркальное, Чашечка, Чушечка и река Паратунка.

Климат города умеренный, с чертами морского и муссонного климата, близок к климату Петропавловска-Камчатского.

Как и в Петропавловске-Камчатском, случаются обильные осадки в виде дождя или снега.

Особенно часто это случается в октябре и в марте, когда за несколько дней может выпасть почти месячная норма осадков.

Вилючинск, как и весь Камчатский край, относится к районам Крайнего Севера.

Природа города представлена обширными лесами, горными массивами, акваторией бухты Крашенинникова.