Ten-year-old Mandy White is mercilessly tormented at school by three classmates: Kim, Melanie and Sarah. After an incident where she is nearly hit by a bus while crossing a road to avoid the bullies, she is kept at home from school and meets Tanya, a lively teenage girl being fostered by Mrs Williams, who lives opposite to Mandy. Despite disapproval from Mandy's elderly mother, who is very overprotective of her and treats her as if she were much younger, the girls quickly become friends.
They dream of a future where they will be older and independent, free from families and foster homes, and can live together and have fantastic adventures. Mandy becomes afraid when she discovers that Tanya is a frequent shoplifter, but decides not to say anything in case they are forbidden from visiting each other. At the end of the book, Tanya and Mandy are caught by police when Tanya steals from and upmarket clothing shop in town. Mandy's mother is initially angry, but realises she has been to strict with her and allows her to get new glasses and restyle her hair so she won't look quite so childish. Mandy also gains a new friend in Arthur, a shy, clever boy in her class who is obsessed with fantasy stories. She greatly misses Tanya, who was taken to a children's home when her previous criminal convictions were discovered, but the novel ends on a happy note as Tanya (who has dyslexia and hates writing) has with great difficulty written a letter to Mandy, assuring her that they are best friends forever and will one day be free to see each other again as they had dreamed about. Melanie, who in the past was Mandy's friend but had become friends with Kim and Sarah, becomes friends with her again.
- The chapters for Bad Girls are names after the colours of the rainbow (red, orange, yellow, green, blue, indigo, and violet) with the final chapter being named rainbow.
- Each colour of the chapter refers to something in the story that is that colour:
- Red - The red bus that knocked Mandy down.
- Orange - Tanya's orange hair.
- Yellow - The Sun shining.
- Green - The green velvet hair scrunchie that Tanya stole.
- Blue - The swimming pool.
- Indigo - The shop of the same name that Tanya gets caught shoplifting in.
- Violet - Tanya's violet sequinned top.
- Rainbow - Mandy's new rainbow glasses.
- Tanya makes a brief appearance in Dustbin Baby.