Frank Falenczyk (Ben Kingsley), a hit-man in Buffalo, is trying the patience of his employers. When his drinking problem makes him botch a critical job that puts the family business in jeopardy, his uncle (Philip Baker Hall) sends him to San Francisco to dry out and clean up. Frank is resistant but he has no alternative. In San Francisco, the shifty Dave (Bill Pullman) lines him up with an apartment, a job in a mortuary and a 12-step AA program. At one meeting, Frank strikes up a friendship with Tom (Luke Wilson) who agrees to become his sponsor and, at a funeral, Frank meets the sharp-tongued Laurel (Tèa Leoni) with whom he begins a tentative relationship.
When events in Buffalo come to a head, Frank abandons Laurel and his burgeoning new life to return to Buffalo to make amends and settle a few old scores.