Marie-Josée Croze a grandi dans une famille d'adoption modeste de Longueuil, au Québec, en banlieue de Montréal, avec quatre autres enfants. Elle a fait des études en arts plastiques au Cégep du Vieux Montréal de 1986 à 1987.
Elle a commencé sa carrière en 1993 dans le long métrage de George Mihalka, La Florida, et a ensuite obtenu plusieurs rôles à la télévision et au cinéma, tant en anglais qu'en français. Elle a notamment joué dans les séries télévisées Chambres en ville, Le masque, The Hunger et Urgence. Elle a également participé à plusieurs courts et moyens métrages, dont Le Rat des villes et le rat des champs, Femme de rêve et HLA Identique.
En 2000, elle a tenu le rôle-titre du film Maelström de Denis Villeneuve, oeuvre qui lui a donné une visibilité internationale. En effet, le Gala des Jutra et des Génie, de même que le Festival international du film de Vancouver et celui de Mons ont été unanimes : elle a été consacrée meilleure actrice. En 2001, elle a joué dans Ararat, un film d'Atom Egoyan portant sur le génocide arménien.
En 2003, elle a incarné une junkie dans Les Invasions barbares de Denys Arcand, rôle qui lui vaut le Prix d'interprétation féminine à Cannes. Depuis, elle s'est établie à Paris et a tourné dans plusieurs films français : Ordo, Mensonges et trahisons et plus si affinités...,
La Petite Chartreuse, Jacquou le Croquant et Ne le dis à personne. On a également pu la voir dans
Munich de Steven Spielberg.
Elle a aussi participé à des projets plus expérimentaux, tels que le photo-roman revisité Mars et Avril, une oeuvre hybride publiée en deux tomes aux éditions de la Pastèque, en 2006.
Elle a joué dans
Le Scaphandre et le Papillon de Julian Schnabel, dans Deux jours à tuer de Jean Becker et, plus récemment, dans Le Nouveau Protocole de Thomas Vincent ainsi que dans Je l'aimais de Zabou Breitman.