This is the season finale. It starts with a Lucas voiceover repeating Peyton's end-of-episode-1 one about needing just one person. At that time, Nathan wakes up from a nightmare about Haley drowning. He goes over to the River Court and finds Lucas there, and tells him to watch out for her, since Haley insisted they don't see each other till after the wedding. He also asks that she be told to stay away from water. Dan tells Deb Keith tried to kill him, and she's torn with guilt. Haley goes and asks Karen if it's okay for her to wear the wedding dress Brooke made for her, since it was made with material ordered for Karen's wedding before Keith died. Karen said it's okay.
Brooke and Peyton are still fighting, about Peyton telling her she had feelings for Lucas. Brooke is moving out. Peyton says she'll just bury her feelings, but that doesn't matter to Brooke, and if Peyton really wanted to bury them she'd just have not said anything. Lucas goes to find Brooke at the wedding preparations and asks her what's wrong. She tells him could he please not talk to Peyton that day.
Nathan comes riding in a limo with his dad and mum. Rachel is looking killer in a green dress at the wedding. Cooper sees her there and tells her she needs to stop calling. It was a mistake and had to end, and could she not make it ugly for Nathan and Haley on their day. Dan helps Lucas tie his tie, and they talk a little. Karen and Deb see them. Nathan is still on the edge about his nightmare, so Lucas sets up a PTT connection with Haley for him, he asks her where she is and she says, "I'm right here." and at that moment she rides by on a horse looking swell.
It turns out Haley's parents aren't coming so Lucas offers to give her away. At the wedding, Brooke is talking to Rachel to spite Peyton. She meets up with Luke and tells him if Brooke doesn't want him to talk to her it was OK, and walks away. He tells her she looks nice. Everything at the wedding ceremony goes perfectly. Michelle Featherstone [she actually came herself] sings Love of my life, and their vows are just the ones! Lucas and Brooke were best man and maid. Nathan, unknown to anyone else, had bought a new more fancy ring. It's after the wedding that things start to happen.
Deb tells Dan she tried to kill him, not Keith, and so his haunting episodes take on a whole new meaning now that he realises he killed Keith for nothing. Rachel gets green eyes when she sees Cooper talking to anyone else, first Michelle Featherstone and then dancing with Peyton. Peyton tries to re-establish contact with Brooke and fails. Nathan and Haley come to lead the dances. He picked More Than Anyone by Gavin DeGraw to play. Apparently that song edged out Lie In The Sound by Trespassers William [which played at their first wedding at the beginning of Season 2]. While dancing Brooke and Lucas talk and it comes out that Peyton kissed him in the lib after the shooting. She walks away. He asks her if it was impossible to forgive him, he forgave her for sleeping with Chris. Then they have to go give their toasts - about love.
Meanwhile, Dan finds Karen out in the garden. He tries to apologize, and she tells him she's pregnant. He tells her he's gonna be there for her this time. Cooper goes to give a toast, after which a drunk Rachel ruins everything. She runs off steals the limo and Cooper goes after her. He manages to make her stop the limo a little later, and it comes out she's in love with him. He wasn't looking to get serious, just having fun. At the reception, since Rachel drove off with the limo, Nathan and Haley get a Mustang. They're not in the least bit disappointed. Brooke tries to cheer Mouth up. Later Lucas finds her and she asks him to dance. They talk a little then she goes home.
As Nathan and Haley drive, she gives him that colored armband he once gave her in Season 1 while she was tutoring him and tells him, "Don't say I never gave you anything." At the reception Lucas tells Peyton he told Brooke about the kiss. While looking for his mum's purse, he finds a pregnancy kit. She tells him yes she's pregnant but that that wasn't her purse, so someone else is. They think it's Brooke's. Peyton finds Brooke packing up and tries to convince her to stay, but she says their friendship is over and if they never spoke again she'd be fine with it.
Rachel has something really important to tell Cooper. And it turns out Haley forgot her purse at the reception. Nathan gets Lucas to bring it over to them. She tells him he's good in a crisis and that was good since she has something to tell him. The scene then changes to Cooper and Rachel. He's telling her he doesn't believe her [apparently she's already told him that really important thing]. She tries to get him to pull over violently and that's when they're just getting up to the bridge, the same one Nathan told Lucas they'd stop at and wait for Haley's purse and stuff. So Cooper and Rachel veer off the bridge and into the river. Nathan and Haley see it, and Nathan tells Haley he loves her and jumps in to try and save his uncle. Haley is screaming after her husband at the top of the bridge. Dan walks back into his house and finds MURDERER written on the wall in fresh paint - red.
The season ends with a Lucas voiceover repeating the Shakespeare quotation Brooke used in her toast, with Haley screaming for Nathan and Cooper, and Nathan under water screaming for help, almost as though he's also trapped. Lucas is saying "Love alters not with time's brief hours and weeks, but bears it out, even unto the edge of doom." Nathan's armband floats to the surface.