Violet Sanford (Piper Perabo) leaves her hometown of South Amboy, New Jersey. She leaves to New York City to pursue her dreams of becoming a songwriter. Violet is not successful in finding someone to hire her at any recording studios. She mistakenly believes that Kevin O'Donnell (Adam Garcia) is a bar owner. She gives him a tape of Violet's demo recordings. She later finds out after his boss reveals his true identity. When Violet returns home, she finds out that her house was robbed. With only a few dollars on her, she goes to an all-night diner. There she sees three girls Cammie (Izabella Miko), Rachel (Bridget Moynahan), and Zoe (Tyra Banks). The girls are showing off hundreds of dollars in tips they earned. She then finds out that they work at a bar called Coyote Ugly.
Violet convinces the bar owner Lil (Maria Bello) to give her an audition. Violet's first audition does not go well. However, after breaking up a fight between two customers, Lil agrees to give her a second chance. At her second audition, she throws a bucket filled with water to the fire warden. This cost Lil $250. In order to keep her job, Violet had to make up $250 in one night. Kevin turns up at the bar. He then is auctioned off to one of the women in the bar. Violet and Kevin begins a relationship.
Kevin tries to help Violet overcome her stage fright. He does this so she can sell her music. Violet is fired from the bar after Kevin gets into a fight at the bar. Violet returns to New Jersey for her best friend's wedding. When she returns, her father is sent to the emergency room after he was involved in a car accident. Violet performs at an open mic night at the Bowery Ballroom with the "Coyotes". Her father, her best friend, and Kevin arrive there for support. The performance goes well. She finally lands a deal with a record label. The movie ends with LeAnn Rimes singing Violet's song.