Cherry is about Angelina (Ashley Hinshaw), an 18-year-old girl on the verge of finishing high school. Angelina's family life is difficult. Her mother (Lili Taylor) is an alcoholic and her step-father is violent and unpredictable. One morning her boyfriend (Jonny Weston) suggests she take naked pictures for money. She balks at first but then does the photo shoot, using the money to run-off with her best friend (Dev Patel) to San Francisco. In San Francisco, while cocktailing in a strip club, Angelina meets Frances (James Franco) a well-off lawyer who offers to introduce her to a different kind of world, a place full of expensive dresses and fancy parties. But that world is not as perfect as it first appears and Frances has problems of his own. At the same time Angelina, using the moniker Cherry, has begun exploring the San Francisco porn industry under the direction of Margaret (Heather Graham) a former performer turned adult film director.