George (Gerard Butler) is an ex-soccer star who has fallen on hard times, and has moved near his ex, Stacie (Jessica Biel) and their son, Lewis (Noah Lomax). He begins coaching Lewis's soccer team, after he impresses the other soccer moms with his skills at a team practice.
Throughout the movie, he has his ups and downs, trying to become a better dad to his son, while dodging the advances of the many soccer moms who lust after him.
One mom, Denise (Catherine Zeta-Jones) flirts with George, and sees that he may have some potential as a soccer commentator. She helps him film an audition tape, which eventually makes its way to ESPN. Though Denise makes advances on George, he fends them off, saying he needs to grow up and be a dad to his son.
George gets a job offer from ESPN, and they want him to move to Connecticut. George realizes he wants to be back with Stacie, and tracks her down as she's trying on her wedding dress. He asks her to come with him so they can be a family. She is overwhelmed by his asking that they get back together, but it is clear that she still has feelings for George.
When her fiance, Matt (James Tupper) confronts her about her feelings for George, she admits she has never stopped loving him.
George is on his way to Connecticut, but turns the car around. He returns to Stacie and Lewis, giving up his job for his family. Stacie tells George she is not going forward with the wedding, and they begin playing soccer as a family.