Fervents catholiques, monsieur Dunn
(Richard Kiley) et son épouse
(Priscilla Pointer) ont dispensé une éducation rigide et puritaine à leurs filles Theresa
(Diane Keaton) et Katherine
(Tuesday Weld). Malgré cela, tandis que la seconde quitte son mari, se partage entre deux amants et tombe enceinte, la première, qui se prépare à enseigner à de jeunes sourds, entretient une liaison avec Martin
(Alan Feinstein), son prof de lettres, marié. Avec sa sœur et Barney
(Joel Fabiani), le nouvel époux de celle-ci, Theresa découvre drogue et films pornographiques. Suite aux remontrances de son père intransigeant, Theresa quitte la maison familiale et loue un appartement. Elle partage alors son existence entre son métier d'institutrice et ses sorties nocturnes dans les quartiers chauds. Elle intercède auprès de James
(William Atherton), conseiller social, pour l'empêcher d'expulser la famille pauvre de sa petite élève Amy
(???). Alors que Katherine se fait avorter et s'éloigne de Barney, Theresa se fait stériliser, par crainte de transmettre à ses enfants sa scoliose héréditaire. Tout en entretenant une sage amitié avec James, perçu à tort par les Dunn comme leur futur gendre, Theresa se jette dans une chaude relation chaotique avec le violent et odieux Tony
(Richard Gere), rencontré dans un bar. Elle croise Martin, devenu écrivain, et dédaigne de faire l'amour avec le trop sage James. Dans une sorte de frénésie, elle s'adonne de plus en plus au sexe et à la drogue, notamment la cocaïne. Tony, disparu pendant quelques temps, débarque dans l'intention de s'installer chez elle, mais elle le renvoie. Craignant que Tony ne la dénonce à la police, elle fait disparaître toute sa drogue. Malgré tout, James l'aime, et son père, atteint d'un cancer, lui reproche sa solitude. À la St Sylvestre 1977, Theresa ramène chez elle Gary
(Tom Berenger), un jeune bisexuel, qui finit par l'agresser, la violer et l'éventrer...