"He didn't want to make the movie with me," she said, noting that this was before her 2003 Best Actress Oscar win had given her a significant career boost.
The role instead went to Renée Zellweger, who Theron was quick to praise.
"She did an amazing job. I'm fully envious of what she did. I've seen that movie a lot, and I've fantasised to be in that movie."
She said it still hurt that Marshall hadn't contacted her directly to let her know her services were no longer required in the film, which would go on to win six Academy Awards including Best Picture.
"He did it through the studio, he didn't do it personally. My manager at the time called me," she said.
"Here's the thing, though: I do understand, if I was in his position and I was handed a cast I didn't necessarily want to go and dedicate a year of my life to, I totally get it. Still, I felt it a little bit."