Lucas and Keith contemplate returning home from Charleston. Elsewhere, Nathan visits Dan in the hospital and brings along Haley, his new wife; Deb feels guilty about Dan's heart attack; and Brooke is upset that Peyton withheld a letter from Lucas.
Lucas recruits Peyton and Brooke to help throw a party in celebration of Haley and Nathan's marriage. Also: Dan has a strangely pleasant postoperative disposition; Brooke posts Peyton's profile on a dating Web site; Deb and Keith agree to keep their one-night stand a secret from Karen. Jim: Huey Lewis. Lydia: Bess Armstrong.
Haley's a bit unnerved when the guys plan a bachelor party for Nathan, but she has her own soiree to worry about when Brooke and Peyton decide to throw her a bridal shower. Meanwhile, Dan continues to play the good guy and tells Lucas he wants to be a part of his life.
A cocky, uninhibited student (Michael Copon) arrives in town and Brooke is the first to meet him when she finds him swimming naked in her pool. Elsewhere, Dan's mood swings from repentant to depressed, though he also flashes anger when he learns Keith hired Nathan to work at his dealership; Karen starts her college classes; and Lucas cautiously builds his relationship with Dan.
Keith hits it off with an attractive customer (Maria Menounos) after she stops in the dealership to buy a car. Also, Felix (Michael Copon) organizes a “dare night” that sends the gang on a series of risky---and embarrassing---adventures; and Andy (Kieren Hutchison) asks Karen out on a date.
Keith asks Jules (Maria Menounos) out on a date; and Brooke hooks up with Felix (Michael Copon). Elsewhere, Lucas learns that Anna (Daniella Alonso) is Felix's twin sister; Peyton auditions bands; and Nathan gets invited to a prestigious summer basketball camp but worries about making ends meet while he's away. Andy: Kieren Hutchison.
Everyone's excited about the grand opening of Tric, the town's new underage club, except for Haley, who's nervous about her debut music performance. Meanwhile, Dan mentions to Karen that Keith slept with Deb; Anna tells Lucas that she just wants to be friends---for now; and Brooke searches for more ways to make money. Anna: Daniella Alonso. Jules: Maria Menounos. Chris: Tyler Hilton.
Haley has a recording session with Chris (Tyler Hilton), but doesn't tell Nathan about it. Meanwhile, Nathan and Lucas take a road trip to Charlotte to watch a basketball game and meet NBA player Emeka Okafor. Also: Brooke throws a slumber party at Haley's apartment; Keith and Jules run into Karen and Andy while both couples are out on dates. Jules: Maria Menounos. Andy: Kieren Hutchison.
Haley's plans to attend the school formal are compromised when she agrees to a music rehearsal with Chris (Tyler Hilton); Lucas arrives at the dance with Anna; Nathan plans an afterparty at his parents' beach house and recruits Tim to help him steal the key; Peyton is tempted to do more drugs after Rick slips her a vial of cocaine.
On the day after the school formal, Peyton's locker is defaced and Brooke finds her windshield mysteriously smashed. Also, Karen finds out Lucas didn't undergo the heart test; Haley and Nathan are fighting; Dan comes back to work and offers Keith a job as a vice president; and Nathan threatens Chris, warning him to stay away from Haley.
Haley's older sister, Taylor (Lindsey McKeon), comes to town and Nathan recognizes her from a past tryst. Meanwhile, Brooke and Felix officially become a couple; Jake surprises Peyton when he shows up in Tree Hill; and Anna confides a secret to Lucas. Jake: Bryan Greenberg.
Taylor (Lindsey McKeon) threatens to tell her sister, Haley, about her history with Nathan, so he decides to beat her to the punch and tell Haley first. Elsewhere, Brooke gets a demeaning job at a local eatery; Dan has wicked intentions when he invites Keith and Jules to dinner; Lucas finds out that Keith slept with Deb; and Karen takes away Lucas's possessions until he undergoes the heart test.
The Wreckers (Michelle Branch, Jessica Harp) perform at Tric. Elsewhere, Dan asks Lucas to move in with him so he can prove he's a good father; Brooke runs for school president; Nathan confronts Haley about kissing Chris, but she denies it; and Jake tries to reenroll at Tree Hill High.
Nathan has trouble dealing with his faltering marriage; and Karen continues to question Lucas's reasoning for moving in with Dan. Also: Brooke becomes student-council president with some help from Mouth; and Jake and Peyton share their first kiss.
The gang confesses intimate secrets to an anonymous video camera for their school's time-capsule project. Also, Peyton and Jake's feelings for each other heat up; and Felix throws Brooke a party to celebrate her election to student-body president.
The gang gets ready for Keith and Jules' wedding day. Brooke asks Lucas to take her to the ceremony as his date; Nathan makes an important decision about his marriage; and Karen and Andy discover Jules' secret agreement with Dan.
Keith has a violent confrontation with Dan after he learns about Dan's deal with Jules. Meanwhile, Anna discovers that Felix was the one who defaced Peyton's locker, so she turns him in to school authorities; and Nathan decides to visit Haley and bring her home.
Nathan stops at Taylor's place during his trip home from seeing Haley; Anna (Daniella Alonso) considers coming out to her parents; Lucas and Andy (Kieran Hutchinson) unite against Dan; Peyton and Jake try to hide baby Jenny from Nikki (Emmanuelle Vaugier). Taylor: Lindsey McKeon.
Nathan and Lucas meet NASCAR driver Jeff Burton when they hang out at a motor speedway in Charlotte with Nathan's uncle (Michael Trucco) and cousins, who are all race-car drivers. Meanwhile, Dan insinuates that he'll report Karen and Andy's relationship to the dean, so Karen tells Deb about Dan's deal with Jules. Daytona: Schuyler Fisk. Garrett: Stuart Lafferty.
While lying in a coma after his accident, Nathan has a bizarre dream about what life would have been like if Dan had stayed with Karen and Lucas instead of marrying Deb. In his dream, Lucas has wealth and stature and Nathan grows up on the wrong side of the tracks.
The gang hosts a movie night at Tric to raise money for Nathan, who's having financial trouble. Elsewhere, Dan encourages Nathan to get an annulment; and Lucas starts to piece together a scam that Dan runs at his dealership.
Jimmy Eat World performs at Tric; Lucas and Brooke head to New York to visit Haley; Jake tells Peyton there's a chance for a retrial; and Andy has to go home to New Zealand for a family matter, and he's worried the INS will prevent him from coming back.
Nathan and Deb plan to leave Dan for good. Meanwhile, a journalist (Sheryl Lee) wants to do a story on Peyton and her work at Tric; Lucas steals Dan's ledger per Andy's advice; and Mouth gets jealous when a surfer hits on Erica.