The model, who has four children with Jagger, said that her ex-husband needed to seek professional help but never did.
She wrote in her book My Life in Pictures: "Mick had told me he took LSD every day for a year in the '60s. He also admitted he was smoking heroin. I was disgusted.
"I told him I couldn't see him if he took drugs, saying, 'Go away and don't come back until you're straight'. He succeeded - he had amazing willpower.
"I had weaned him off drugs, but they had been replaced by sex and he had never had proper treatment."
Hall admitted that she knew that Jagger was being unfaithful from the start.
"Even in our early days, my instincts told me he could not help indulging himself with other women, and by the time we had children I'd read about Mick's dalliances in newspapers," she wrote.
The 51-year-old said that when she found out model Luciana Morad was having Jagger's baby, she knew that she'd had enough.
She explained: "When Mick eventually returned to London, he looked shaken. A newspaper reported that a Brazilian model, Luciana Morad, was pregnant with his baby. It was the final straw. I told him I wanted a divorce.
"Breaking up with Mick was painful. I had been tempted to leave him many times but had put up with his infidelities. However, having a child with another woman was too much.
"The most difficult part was telling the children. I explained to them that we loved them and were still their parents. Mick and I were determined that, even though our marriage had ended, we would continue to be parents together - and we have."