Née d'un père avocat Marty Holmes et d'une mère décoratrice Kathleen, elle est la plus jeune d'une famille de cinq enfants. Elle a trois soeurs : Tamera, Holly, Nancy et un frère : Martin.
Rêvant d'Hollywood sans oser penser en faire partie un jour, elle fait du théâtre dès le lycée (Notre-Dame Academy, école catholique pour filles de sa ville natale). Elle fait du mannequinat, avec un certain succès, mais ne souhaite pas continuer car elle préférerait être actrice. Elle va alors participer à des castings. En 1997, elle finit le lycée, et diffère jusqu'en 2000 son admission à l'Université Columbia.
Elle aurait pu tenir le rôle de Buffy dans Buffy contre les vampires, mais elle a décliné l'offre pour se consacrer à ses études .
Elle est remarquée, sur une cassette vidéo qu'elle a envoyée, par
Kevin Williamson, le créateur et producteur exécutif d'une nouvelle série. Il la convoque pour l'auditionner, mais elle refuse car la date correspond à la première de sa pièce de théâtre au lycée. Mais il change les dates d'audition pour pouvoir la voir. C'est ainsi qu'elle va interpréter le rôle de Joey Potter dans la série télévisée Dawson (Dawson's Creek). Cette série l'a fait connaître du grand public. Par ailleurs, elle y chante à plusieurs reprises, notamment On my own dans la saison 1 ainsi que I Hate myself for loving you et I want you to want me dans la saison 5.
Elle a été la petite amie, pendant un an, d'un des acteurs de cette série,
Joshua Jackson. Elle a été fiancée à l'acteur
Chris Klein (
American Pie) des vacances de Noël 2003 à début 2005.
Sa notoriété s'accroît fortement après son mariage en novembre 2006 avec l'acteur
Tom Cruise avec qui elle a eu une fille prénommée Suri.
Bien qu'elle était éduquée selon les principes catholiques elle serait devenu scientologue pratiquante.