Darren McGrady said Prince Charles and Princess Charles were happier than how they were portrayed in Netflix's The Crown.
He said they were in love and recalled a besotted moment when they were together on the dancefloor.
During The Crown's fourth season, there is a lot of focus on Diana, Charles and Camilla and their love triangle as well as the breakdown of the marriage, writes the Express.
But Mr McGrady spent many hours in the presence of the couple as he worked for the Queen at Buckingham Palace over a span of 11 years.
He then moved to Diana's Kensington Palace residence from 1993 to 1997.
Mr McGrady told Insider: "I saw the two of them, I saw them dancing at the Ghillies Ball at Balmoral.
“Everyone was stepping aside and whooping. Charles was the DJ, and Diana in her ballgown.
“She spun him around so fast, he was laughing out loud. You can't hide that.
“Don't say they were never in love, because seeing things like that ... they should have portrayed more things like that."
Analysts have said the series shines a harsh light on the couple's relationship and marriage, which later ended in divorce.
Princess Diana was 16 when she first met the prince who was 29 years old.
Some have come to defend for the Netflix show and its portrayal of Prince Charles, including former royal butler, Paul Burrell.
Mr Burrell agreed with the 'cold and uncaring' depiction.
Earl Charles Spencer, Princess Diana's brother, said last year that the show concerned him because "Americans tell me they have watched 'The Crown' as if they have taken a history lesson".
He said on ‘Love Your Weekend with Alan Titchmarsh’: “There is a lot of conjecture and a lot of invention, isn’t there? You can hang it in fact but the bits in between are not fact.”
A statue of Princess Diana is due to be installed in July this year to commemorate what would have been her 60th birthday.
It was commissioned by her sons Prince William and Prince Harry to “recognise her positive impact”.