Surkamp struck out a career-high 14 and allowed two hits over seven innings as San Jose blanked the Stockton Ports, 3-0.
The 2008 sixth-round pick struck out the side in the second and third innings and did not allow a hit until Ryan Ortiz led off the sixth with a single. He ran into some trouble in the seventh, giving up an infield hit to Mike Spina and walking Jeremy Barfield. But he retired the next two batters and ended his night by fanning Kent Walton.
"I had a strikeout with a fastball," said Surkamp, who threw 101 pitches. "I figured he was sitting curve because I had thrown so many early in the game, so I wanted to change it up and keep him off-balance."
Surkamp (4-1) eclipsed his previous career high of 12 strikeouts, set with Class A Augusta in a complete-game two-hitter last Sept. 5.
The North Carolina State product recorded eight of his first nine outs via strikeouts. Stephen Parker was the only Port who put the ball in play over the opening three innings, flying out to center in the first.
"Me and my catcher [Johnny Monell] were on the same page all night," Surkamp said. "I was able to get ahead of hitters and my curve was working well so I was throwing that a lot late in the count."
Surkamp was named California League Pitcher of the Week in mid-May but struggled in June, going 1-0 with a 5.87 ERA in four starts.
"That kind of comes with this league a little bit," he said. "It's always known as a hitters' league and you have to know you're going to have your tough games and stick with it."
Brian Anderson, MLB.com's 2006 Class A Advanced Relief Pitcher of the Year, tossed a perfect eighth and Jason Stoffel fanned two in the ninth for his 13th save.
Francisco Peguero was 2-for-3 with an RBI and Monell hit his seventh homer, a solo shot in the fourth. Charlie Culberson drove in the other run for the Giants (48-35), who won an unprecedented sixth straight Northern Division first-half title.
Shawn Haviland (6-6) was tagged with the loss after allowing two runs on seven hits with seven strikeouts in seven innings.