Бретт Хоппер служит детективом в Лос-Анджелесе. Однажды утром полицейские врываются к нему домой и объявляют об аресте за убийство прокурора Альберто Гарсы. Бретт понимает, что его подставили, однако все доказательства указывают на него. В тот же день опасность угрожает его возлюбленной Рите, сестре Дженнифер и людям, с которыми он работал раньше. Попытки доказать невиновность ни к чему не приводят. Ночью детектив засыпает, а утром снова слышит знакомые звуки и видит на календаре вчерашнюю дату. Хоппер проживает одни и те же сутки снова и снова. Каждый раз он может по-другому поговорить с человеком, изменить направление расследования или избежать ловушки. Но окружающие не помнят предыдущих событий, поэтому ему приходится заново завоёвывать их доверие. Сам Бретт сохраняет воспоминания и телесные повреждения. После опасных столкновений он просыпается с синяками и ранами, а значит бесконечные попытки исправить прошлое вовсе не делают его неуязвимым. Иногда детектив решает отказаться от поисков преступника и провести день с Ритой, но такая попытка лишь создаёт новые проблемы. Гарса перед смертью собрал материалы, способные разоблачить людей с большими связями. Бретт ищет пропавшие документы, изучает старые полицейские дела отца и обнаруживает противоречия в рассказах сестры. Он встречается с бывшим напарником Эдди, пытается наладить отношения с Андреа Баттл и выясняет, какую роль в происходящем играет Чад Шелтен. Пока Хоппер собирает доказательства, он понимает, что спасение одного человека не обязательно спасает другого. Некоторые решения приходится проверять многократно, а одна неверная встреча приводит к гибели людей, которым он хотел помочь. Бретт добирается до виновных и разрывает цепь повторяющихся суток. На следующее утро он встречает человека, которого прежде видел в образе бездомного. Тот стоит в дорогом костюме и улыбается Хопперу, словно знает причину повторявшегося дня.