Stuart Camp told how the princess was pretending to knight another famous entertainer when she accidentally struck Sheeran with a ceremonial sword.
The princess remodeled a gorgeous gown previously worn by her grandmother, Queen Elizabeth.
Beatrice also borrowed the tiara that the queen wore on her wedding day in 1947.
A small number of guests were also there, Buckingham Palace has confirmed.
Beatrice and her fiancé, Edoardo Mapelli Mozzi, were supposed to marry in May.
The royal and her fiancé, Edoardo Mapelli Mozzi, are nixing their Buckingham Palace garden reception.
But contrary to reports, they're not the same dress.
The 25-year-old, who we're more used to seeing in scrunchies and overalls, got seriously glam for a night out with ex-boyfriend
CORRECTION: Language has been amended to indicate that "princess" is listed as the duchess of Cambridge's occupation on her