The world champions were dominant throughout but a combination of poor finishing and some fine goalkeeping by Bill Gaudette meant they had to wait until but four minutes before half-time to make the breakthrough as the bend on Cazorla's shot deceived the New York Red Bulls goalkeeper and flew into the net.
Fabregas made it two moments later but the Central Americans were rewarded for a spirited showing after the break when Marc Cintron capitalised on some lackadaisical Spanish defending to slot past Pepe Reina 26 minutes from time.
Vicente del Bosque had made seven changes to the side that started the 4-0 win over Italy in Kiev but was rewarded with a positive first half display that should have seen them go in more than one up at the break.
Gerard Pique saw an early header come off the inside of the post before Gaudette did brilliantly to parry Fernando Torres' header from point-blank range.
Gunning before the break
A typically flowing Spanish passing move then saw Cazorla presented with a good shooting opportunity inside the area midway through the half but Gaudette again got down well to turn the ball to safety.
However, the new Arsenal midfielder did eventually catch the keeper out with a thunderous strike from 30 yards to record his sixth international goal and Fabregas then pounced on a neat cutback from Jesus Navas to volley in a second two minutes before half-time.
Cazorla came within inches of grabbing his second of the game moments after the break as his free-kick came crashing back off the bar but Spain's urgency and tempo dipped as the half wore on and the Puerto Ricans took advantage on 64 minutes as a long ball through the middle caught Sergio Ramos unawares and Cintron nipped in to fire home via a slight deflection off Ramos.
The side ranked 137 places behind their opponents never really threatened an equaliser though and were thankful to Guadette one last time as he produced another fine save to turn Torres' curling effort wide four minutes from time.