Место для съёмок «Острова» киногруппа подбирала долго. Было 4 экспедиции: съёмочная команда проехала по Мурманской области, побывала на Ладоге, Онежском озере, в Кижах, на Псковских озёрах. Ни один из действовавших в тех местах монастырей не подошёл режиссёру, так как ему требовался «маленький, заброшенный скит, а все современные монастыри — это огромные, обнесённые высокими стенами города».
Во время пятого выезда натура нашлась — это было окраина маленького посёлка Рабочеостровск на побережье Белого моря в Карелии. Подошло всё: и пейзаж, который отвечал замыслам сценариста и художника, и естественные декорации. Вокруг — море, в котором разбросаны острова. На суше — старая навигационная башня, полузаброшенные домики. Островом стал полуостров, отделённый от материка небольшим перешейком. Из башни сделали колокольню, барак без крыши превратили в церковь: надстроили купола, подлатали, внутри «выпилили» стены, чтобы получилось единое пространство. Особое значение для режиссёра имела затопленная деревянная баржа, к которой была привязана вся декорация монастыря.
По словам Павла Лунгина, исполнитель главной роли Пётр Мамонов «В большой степени играл самого себя».
Снимать пришлось быстро. Нужно было успеть завершить съёмки прежде, чем Белое море покроется льдом. Съёмки начались в октябре, а закончились в первых числах декабря 2005 года. Лишь пять дней съёмки велись вне Рабочеостровска. Военные сцены были отсняты на Волге, под Дубной.
Павел Лунгин:
На протяжении съёмок у нас в группе было чудесное ощущение общности, никто чужой к нам не приходил. Воспоминания остались у нас очень счастливые. Актёры играли лучше, чем всегда. Все вместе мы сделали больше, чем мог каждый из нас по отдельности. Такое бывает раз в жизни. И я счастлив, что в моей жизни это произошло.