Actress Suzanne Vale (Meryl Streep) is a recovering drug addict trying to pick up the pieces of her acting career and get on with her life after being discharged from a rehab center to kick a cocaine-Percodan habit; after overdosing while on a date, her mother admitted her to the rehab center from the emergency room. When she is ready to return to work her agent advises her the studio's insurance policy will cover her only if she lives with a "responsible" individual such as her mother Doris Mann (Shirley MacLaine). Suzanne is very reluctant to return to the woman from whom she struggled to escape for years after growing up in her shadow. The situation is not helped by the fact that Doris is very loud, competitive, manipulative, self-absorbed and given to offering her daughter unsolicited advice with insinuating value judgments while treating her like a child.
Producer Jack Faulkner (Dennis Quaid) runs into Suzanne on the set and reveals that he is the one who drove her to the hospital during her last overdose, and the two kiss. Suzanne then agrees to go out with him. During the course of a passionate first date, he professes intense and eternal love for her and she believes every word is true. Suzanne's euphoria is short-lived, however; she subsequently learns from Evelyn Ames (Annette Bening), a bit player in her latest film, that Jack is sleeping with Evelyn as well. Still dressed in the costume she wears as a uniformed cop in the schlock movie, Suzanne drives to Jack's house and confronts him. As their argument escalates, Jack implies that Suzanne was much more interesting when she was trying to function while under the influence.
At home, Suzanne learns from Doris that Suzanne's sleazy business manager Marty Wiener has absconded with all her money. This leads to a verbal brawl between the two women, and Suzanne storms out to go to a looping session. There the paternalistic director Lowell Kolchek (Gene Hackman) tells her he has more work for her as long as she can remain clean and sober.
Suzanne arrives home and discovers that Doris has crashed her car into a tree after drinking too much wine (and Stolichnaya smoothies). Suzanne rushes to her hospital bedside where the two have a heart-to-heart talk while Suzanne fixes her mother's makeup and arranges a scarf on her head to conceal the fact she bloodied her wig in the accident. Looking and feeling better, Doris musters her courage and faces the media waiting for her. Suzanne runs into Dr. Frankenthal (Richard Dreyfuss), who had pumped her stomach after her last overdose, and he invites her to see a movie with him. She declines, telling him she's not ready to date yet. Dr. Frankenthal tells her he's willing to wait until she is.
In the film's closing moments Suzanne performs "I'm Checkin' Out," a foot-stomping Country Western number, for a scene in Lowell Kolchek's new film.