Он неоригинален: убивает ночных бабочек по тому же сценарию, что и Джек Потрошитель. В 1888 году тот методично и хладнокровно расправлялся с лондонскими проститутками, очищая город от скверны. Что движет питерским убийцей? Не дает покоя слава одержимого английского Потрошителя? Или у маньяка есть и собственные мотивы?
Понять причудливую логику преступника и остановить серию кровавых убийств стремится оперуполномоченный ГУВД Санкт-Петербурга Николай Троицкий (Дмитрий Марьянов). Видя безразличие сотрудников районного отделения милиции и их желание поскорей закрыть дело, Троицкий начинает собственное расследование, шаг за шагом разгадывая причудливый ребус. Одновременно сделать это пытается и журналистка Жанна Клеменко (Мария Машкова), репортер криминальной хроники в одной из бульварных газет.
Профессиональное стремление раскопать сенсацию очень быстро сменяется у Жанны сочувствием к замученным жертвам и искренним желанием помочь Троицкому. Объединив усилия, оперативник и журналистка идут по следу преступника, который ни на неделю не дает забыть о себе, совершая все новые убийства. Им помогает случайный знакомый Николая – ученый и специалист по африканской культуре Маврин (Даниил Спиваковский).
Он расшифровывает загадочную надпись на попавшем в руки следствия орудии убийств. Именно она выводит Троицкого к лондонскому Потрошителю и проясняет мотивы питерского преступника. В ходе своего расследования Троицкий и Жанна делают пугающее открытие: имена погибших питерских проституток созвучны с именами лондонских жертв. Тогда последней пострадавшей стала Мэри Джанет Келли, именно эту фамилию Жанна когда-то выбрала в качестве творческого псевдонима.
Значит, следующей жертвой маньяка должна стать она! Теперь не только журналистка, но и любовь, в которую неожиданно для Жанны и Троицкого переросла их дружба, находится в реальной опасности.