The Voice US coach described Gerard as a "prince" while talking about the song '23', which is dedicated to Gerard on her self-titled album.
Speaking on ITV's Lorraine this morning, 37-year-old Shakira said: "The song was more about the miracle that it was to meet him and how he changed my life.
"Sometimes I feel that at that time when we had met, I often felt like a princess trapped in a castle with a dragon inside and he was that prince that rescued me from the dragon. I know that sounds super corny but that's how I feel. I was searching for happiness for so long and I finally found it with him."
Colombian songstress Shakira and Barcelona footballer Gerard began dating in 2010, and the couple welcomed their son Milan on 22 January last year.
Speaking about juggling her work with looking after Milan, 'Hips Don't Lie' singer Shakira added: "I try to take him everywhere I go, just to be with him and nurture him as much as I can."
Shakira is over in London following her performance on The Voice UK during Saturday night's semi-final results show, where she sang her new single 'Empire' in front of a live studio audience.
Watch Shakira's music video for 'Empire' below: