A brace from Miguel Layun after Marco Fabian's opener decided what was a tight encounter at Levi's Stadium as the nations continued preparations for the FIFA World Cup.
Fabian struck with a wonderful free-kick in the first half, while Layun produced two terrific goals after the break.
The result extended Mexico's unbeaten run to four matches and, while it created little else, the performance was a boost.
The likes of Javier Hernandez, Guillermo Ochoa and Oribe Peralta started on the bench for Mexico, while Iceland was without injured Everton midfielder Gylfi Sigurdsson.
Iceland made the brighter start in Santa Clara and Mexico goalkeeper Jose Corona was forced into a save in the ninth minute, parrying a long-range effort from Birkir Bjarnason.
Long throw-ins, mostly from the left, caused Mexico some problems in what was a tight opening half-hour.
Before his opener, Fabian tested Iceland goalkeeper Runar Runarsson, who made a comfortable save.
However, Runarsson was unable to deny Mexico the opener in the 37th minute.
Fabian stepped up to curl a wonderful 25-yard free-kick into the corner to give his side a 1-0 lead.
The tight contest continued after half-time, but Layun doubled Mexico's lead after the hour-mark.
Hirving Lozano, who came off the bench, was the provider, brilliantly turning before playing in Layun down the right.
Layun made no mistake with a clinical finish across Runarsson and into the bottom corner.
Iceland pushed after falling 2-0 behind, hitting the post and having a goal correctly ruled out for offside, before Layun saw an effort, which was perhaps a cross, from distance find the back of the net.