Gonzalez headed home a pass from fellow sub Esteban Paredes, who had gotten around the staunch Swiss defense and crossed to Gonzalez at the back post. Gonzalez's downward header beat goalkeeper Diego Benaglio.
Before Chile scored, Switzerland set a World Cup record in the 69th minute by going 551 minutes without allowing a goal, breaking the mark of 550 held by Italy at the 1986 and 1990 tournaments. Chile has won both its games in Group H.
"This is for my family and for all the people who have supported us in Chile," Gonzalez said. "This was a great moment for me and for our team."
Switzerland played a man down since the 31st minute when midfielder Valone Behrami was sent off with a straight red card for rough play.
The win gives Chile six points and first place in the group. Switzerland, which upset European champion Spain 1-0 in its opening match, has three. Honduras and Spain, each without points, play later Monday. A draw between those teams will put Chile into the second round as Latin American teams continue their strong performances.
"We are in a good position, and we have one more game to prove ourselves even more," Gonzalez said.
Chile had all the first-half pressure even before Behrami's ejection for hitting two Chileans in the face within seconds.
Alexis Sanchez appeared to give Chile the lead in the 49th minute, but was clearly offside. He nearly scored in the 55th minute on a break but was thwarted from the right side by Benaglio.
The match started in a sea of red — Chilean and Swiss fans in their predominant colors, and many empty seats, which are mostly red at Nelson Mandela Bay Stadium. Costumes included a woman dressed in a full-length cow outfit and dozens of Chilean flags.