Celia Amonte (Sofia Milos) is a Portuguese American widow who lives in New Bedford, Massachusetts with her daughter Vicky (Emmy Rossum). The broke British card counter Charles "Charlie" Beck (Jason Isaacs) arrives in town to stay with and mooch off some wealthy friends and gamble at the local casino. The friends are Daniel Vargas (Seymour Cassel) and his wife Lois Vargas (Theresa Russell). One night, dining at a Portuguese restaurant with Lois, Charlie sees Celia singing fado, a haunting Portuguese form of song. He is enchanted with her, approaches her, and is rebuffed. Charlie later finds Celia's address in the phone book and goes to her house, where he encounters Vicky, whom he had met at the casino before. Vicky agrees to help Charlie woo her mother in exchange for lessons on card counting. This proves difficult, as Celia still longs for her deceased husband and has not dated since his death.