Lincecum walked a batter and struck out three. Chicago's first two runs came in the fifth inning, and the White Sox took a 3-2 lead in the seventh.
The Giants won it with one out in the ninth. Hector Sanchez led off with a single. Juan Perez ran for him and scored on an opposite-field double to left by Nick Noonan. Brandon Hicks sacrificed Noonan to third and Joaquin Arias brought home the win with a hit to right-center.
White Sox: Right-hander Felipe Paulino, making a bid for a spot in the rotation after not pitching in the major leagues since 2012 due to ulnar-ligament replacement surgery in his elbow, pitched 3 2-3 innings and gave up two runs on five hits and struck out five.
The 6-foot-3, 270-pound Paulino is 13-32 in 61 career starts. The 30 year old last pitched for Kansas City.
Manager Robin Ventura said earlier in the week that Paulino, who has yet to get a win in three spring starts with a 9.72 ERA, is not going to be handed a rotation spot, and that he is going to have to earn it.
Giants: Lincecum said he was not fatigued and felt he could have kept going in the fifth, when Chicago scored its first two runs.
''It's good for me to get four-plus innings, get the work in in a game-type situation,'' Lincecum said. ''I've had three starts now and I'm still progressing.''
Lincecum had four straight years where he pitched 200 or more innings (2008-11) and narrowly missed a fifth in 2013 (by 2 1-3 innings), and he wants to get back to that level.
''It's time I challenged myself in that way,'' said Lincecum, who over the winter in a rented warehouse in his native Seattle and threw often to friends from a portable mound.
Giants: First baseman Brandon Belt missed his second straight game with a stomach virus.
WILL SCUTARO BE READY?
Second baseman Marco Scutaro took batting practice Wednesday, but it is looking more and more as if he might begin the regular season on the disabled list.
''Backs are tricky, I'll tell you right now,'' said Scutaro, who was slowed by the problem most of the season after being injured during the last week of spring in 2013. ''You never know what can happen. You can feel good one day, then get up the next morning and ... ''
The doctor wants him to strengthen his core.
He looked on the walls of his doctor's office and saw famous athletes that the doctor had worked on and said to himself, ''I don't want to be one of those guys. I don't want to see my picture up there.''
If Scutaro can't go, possible replacements would be Noonan or Ehire Adrianza.
Sanchez usually is Buster Posey's backup behind the plate, but started at first base on Wednesday and played well, making a handful of stops on grounders and scooping a few infield throws out of the dirt.
Sanchez has not started at first base during his three-year big league career.
''Brandon Belt better watch out, he (Sanchez) is going for his job,'' Lincecum said.