The third season consisted of 22 episodes and aired between October 5, 2005 and May 3, 2006.
Three months later, things pick up where they left off at the beginning of the summer. Lucas and Peyton spent their summer together and are hiding a secret from Brooke when she returns from California and proposes a non-exclusive relationship with Lucas. Brooke takes pity on a homeless Haley and takes her on as her roommate. Haley tries to win back Nathan, who has spent the summer at "High Flyers", a basketball camp, however Nathan isn't ready to trust Haley again. He pays Chris to come back to Tree Hill and help Haley with her music. Chris causes even more trouble this time round when he sleeps with Brooke, almost destroying her relationship with Lucas. Nathan and Haley get back together as do Lucas and Brooke. Nathan and Chris part on good terms as Chris leaves Tree Hill for good. Peyton struggles to deal with the revelation that she is adopted and that Ellie is her birth mother. She then learns Ellie has breast cancer and is terminally ill. They make a benefit album together called "Friends With Benefit" in aid of breast cancer research but Ellie dies shortly after the album is finished. Peyton feels guilty for treating Ellie badly.
Everyone returns to Tree Hill High to begin their senior year and basketball practice starts up again. Whitey reveals to the Ravens that win or lose, this is his last season as coach while Lucas tries to conceal his HCM from Karen and Whitey, despite the serious impact it is having on his performance.
Dan survives the dealership fire and eventually realizes that Lucas rescued him. Dan decides to run for Mayor but gets a nasty shock when Karen announces that she is running against him. Dan bribes Deb to stay with him until he is named Mayor, however after Dan wins the election Deb flees Tree Hill when Lucas tells her that he knows she started the fire to try to kill Dan. Keith returns and Karen realizes how much she cares for him, thus resulting in the two dating, and eventually getting engaged. Dan is convinced that Keith tried to kill him and sets about plotting his revenge.
Newcomer Rachel Gatina (Danneel Harris) tries to come between Lucas and Brooke before setting her sights on Mouth McFadden (Lee Norris). Mouth falls for Rachel only to discover that she is seeing Nathan's uncle, Cooper Lee (guest star, Michael Trucco) who is oblivious to Rachel's true age, 17. Rachel opens the Time Capsule recorded in Season Two and exposes it to the whole school in an attempt to cause trouble, but neither Rachel nor anyone else is prepared for the damage it causes; after Lucas and Mouth's former friend, Jimmy Edwards (guest star, Colin Fickes), is bullied and tormented for voicing his contempt towards other students on the Time Capsule, he takes the school hostage with a gun. Peyton gets shot in the leg and kisses Lucas when he looks after her in the library, the kiss taking on a greater significance than either of them will admit. Dan allows Keith into the school, Keith being convinced he can get through to Edwards, however Edwards ends up taking his own life and when Dan finds Keith kneeling over Edwards' body, Dan picks up the gun and fatally shoots his brother, making everyone assume that Jimmy Edwards murdered Keith.
After Jimmy Edwards takes the school hostage and Keith dies, the gang decides to go to Rachel's cabin in the woods in order to get away from all the mayhem. In which they all re-evaluate their lives: Nathan proposes to Haley again and they move back in together. Brooke moves in with Peyton who has a brief relationship with Pete Wentz of Fall Out Boy before going to find Jake and Jenny in Savannah. Lucas tells Karen and Whitey about his HCM results, then quits the Ravens. And Dan is haunted by visions of Keith as a child. Peyton asks Jake to marry her, but Jake realizes that Peyton is in love with Lucas and sends her back to Tree Hill to deal with her feelings for him. Peyton confesses to a shocked Brooke that she still loves Lucas.
In the season finale, Nathan and Haley renew their vows in a beautiful ceremony in front of their family and friends. Deb has returned to Tree Hill and when she discovers that Dan thinks Keith was responsible for the dealership fire, she sets the record straight and tells him that she tried to kill him. Dan realizes that he killed his brother for no reason and breaks down at Keith's grave. Later, Karen tells Dan that she is having Keith's baby and Dan promises Karen that he will be there for her this time. Brooke is not speaking to Peyton and when Lucas lets slip that he and Peyton kissed on the day of the school shooting, she is devastated and tells Peyton that as far as she is concerned, their friendship is over. Rachel is bitter over Cooper's rejection and drunkenly tells everyone at Nathan and Haley's wedding reception that Cooper slept with her even though he knew that she was only 17. Rachel takes off in the wedding limo with Cooper and his attempts to talk her round eventually work. As Lucas and Karen leave the reception, he finds a pregnancy test in someone's purse. Lucas asks his mother if she is pregnant and she tells him that she is - but that's not her purse. Rachel asks Cooper if there is anything that she can say to keep him. He solemnly tells her that there isn't, prompting Rachel to reveal something that causes a ferocious argument between them when Cooper refuses to believe her. Rachel grabs control of the wheel and after a near-collision with Nathan and Haley (en route to London for their honeymoon), the limo veers off the bridge and into the water. Against Haley's wishes, Nathan dives in to save them but ends up becoming trapped and stuck for air himself. And when Dan gets home he finds the word "MURDERER" smeared on his wall - someone knows what he did.