Clement (8-9) struck out eight and walked two in his third career shutout, his first since a three-hitter against Arizona on Aug. 24. He had been 2-4 with a 6.98 ERA against the Giants.
Clement struck out the side in the fifth inning and received a standing ovation when he batted in the eighth. He matched the low-hit game of his career, on May 28 last year against Pittsburgh. While Clement has pitched at least six innings and allowed three runs or fewer in his last seven starts, he is just 3-2 in that span.
San Francisco put runners on second and third in the seventh inning when third baseman Aramis Ramirez booted Santiago's grounder for his 26th error of the season, the most in the major leagues, and Galarraga blooped a single. Clement then struck out Jose Cruz Jr. and retired Edgardo Alfonzo on an inning-ending groundout.
Bonds, who entered with a .429 average and three homers against Clement, went 0-for-3 with two flyouts.
The Giants activated Santiago from the 15-day disabled list. C Alberto Castillo was put on the 15-day DL, retroactive to Sunday, with a bruised right wrist. Santiago, who was 0-for-4, was placed on the disabled list July 17 with a dislocated left pinkie. Castillo's contract was purchased from Triple-A Fresno on July 6. He was 3-for-10 with a home run and four RBI. ... Chicago has won just seven of 21 home games and is 25-27 overall at Wrigley Field.