Родился в городе Свердловске, ныне Екатеринбург. Окончил переводческий факультет Горьковского педагогического института иностранных языков им. Н.А. Добролюбова (1981 г.), режиссёрское отделение Высших курсов сценаристов и режиссёров (1990 г.). В 1981 – 1983 годах проходил срочную службу офицером в военно-транспортном авиационном полку, летал в страны Африки и Азии. Участник боевых действий в республике Афганистан. В 1983 – 1987 годах работал ассистентом режиссёра на Свердловской киностудии.
С 1990 года жил и работал в городе Санкт-Петербурге. Снял 14 игровых фильмов, среди них «Брат» (1997), «Брат-2» (2000), «Жмурки» (2005), «Груз 200» (2007), «Кочегар» (2010) и др. Лауреат кинематографических премий «Ника» (1999 – дважды), «Кинотавр» (1997, 1998, 2002), «Золотой Овен» (1998). Умер в городе Сестрорецке Ленинградской области. Похоронен на Смоленском кладбище в Санкт-Петербурге.
Память: на здании Нижегородского государственного лингвистического университета (г. Нижний Новгород, Нижегородский район, улица Минина, 31а), где он учился, установлена мемориальная доска.