In an interview with the Daily Telegraph, he said it was not until his late 20s that he processed the grief - following two years of "total chaos".
But he was in a "good place" because of the "process I have been through".
The 32-year-old prince also said boxing "saved" him after he took it up as a "good way of letting out aggression".
The Telegraph says Prince Harry had decided to talk about his past in the hope it will encourage people to break the stigma surrounding mental health issues.
Along with his brother and sister-in-law, the Duke and Duchess of Cambridge, he is promoting the Heads Together mental health campaign, the London Marathon's charity of the year.
The Princess of Wales died in a car crash in Paris in August 1997.