The screen stunner, 24, and her Italian sales manager beau Stefano Catelli, 37, exchanged rings in front of close friends and family in a top-secret ceremony at a 10th Century castle in the village of Zuheros in Andalucia on Saturday.
The actress, who wore a flowing white gown, was determined to keep the nuptials a secret and only told family and friends the exotic location just days before the event took place.
Gemma dated her groom for just a year before tying the knot.
Gemma most recently played Tamina opposite Jake Gyllenhaal in Prince of Persia: The Sands of Time. She also appeared in the recent box office hit Clash of the Titans.