Teenager Samantha (Zoey Deutch) is stuck reliving the day of her death over and over. The day starts normally, as she receives a text from her friend Lindsay (Halston Sage). Lindsay picks up Sam and the rest of their friends for school. That night, they attend a party at a boy's house, where one of the friends throws a drink in another girl's face. The girl is Juliette, whom the four friends routinely bully.
Later, Sam and her friends are in a car on the way home. It's raining and when a truck comes towards them, the car goes off the road. Sam wakes up in bed. When her little sister tells her to get up, Sam complains that it's Saturday. She gets a text and sees to her confusion that it's dated Friday and it's the same exact text she received the day before.
In fact, everything is the same that day, right up to the car crash, and even when she tries to change the outcome, her efforts are in vain. She begins to see things differently, asking her friends why they pick on Juliette. Each day, as she experiences things over and over, her eyes open to the kind of person she was and she realizes she needs to do something to change herself, not just the day.