In this paper we present a spatial gamut mapping algorithm that relies on a perceptually-based variational framework. Our method adapts a well-known image energy functional whose minimization leads to image enhancement and contrast modification. We show how by varying the importance of the contrast term in the image functional we are able to perform gamut reduction. We propose an iterative scheme that allows our algorithm to successfully map the colors from the gamut of the original image to a given destination gamut while preserving the colors’ perception and texture close to the original image. Both subjective and objective evaluation validate the promising results achieved via our proposed framework.