The Cubans were forced to play almost half the game with only 10 players, following the straight red card dismissal of Yordan Santa Cruz two minutes prior to the break.
For El Salvador, the win was particularly significant; it finished no better than fourth place in the event since 1994.
Both sides, with berths in the 2013 FIFA U-20 World Cup already secured, seemed to suffer from the fatigue of playing a fifth game in nine days. The speed of their play took an understandable dip, but the competitive nature of each was still evident.
Forward Maykel Reyes could have put Cuba into an early fifth-minute lead, but his header off a corner kick went wide.
From there, scoring chances became scarce with neither team able to get into a rhythm.
As the game wore on, playing a man short took an eventual toll on the Caribbean Lions. El Salvador picked up its pace with 15 minutes left on the clock, trying to avoid 30 minutes of extra time.
In the 77th minute, Gonzalez prompted an acrobatic leaping save from Cuban goalkeeper Sandy Sanchez.
Ten minutes later, Jairo Henriquez hit the post from 30 yards out with an impressive effort.
Then, in the second minute of stoppage time, Gonzalez struck for the game winner.
El Salvador and Cuba depart Puebla with three wins and two losses in five games each, plus tickets to the FIFA event in Turkey, June 21 - July 13, 2013.