Just when San Francisco's pitching staff had all the momentum from four straight shutouts, Cincinnati's starters stole it right away.

And Mat Latos stymied the Giants — as he so often does.

Latos pitched a two-hitter to win his career-best seventh straight decision, beating San Francisco for the second time in as many outings this season to lead the Reds to a 2-1 victory Saturday.

Latos followed Mike Leake's nine-hitter Friday for the Reds' first consecutive complete games since Johnny Cueto and Homer Bailey on May 11-12, 2010, against the Pirates.

"We ran into another well-pitched game. We didn't do too much," Giants manager Bruce Bochy said. "He's tough. He's got good stuff. We've seen enough of him to know, but when a good pitcher is on top of his game it's going to be hard."

Latos (7-2) struck out seven and didn't walk a batter for the fourth time in his 115-pitch gem and second straight complete game. The hard-throwing right-hander tossed seven scoreless innings against the Giants on April 24. He threw the first back-to-back complete games for the Reds since Aaron Harang in September 2006.

A Giants nemesis the past three seasons with the Padres, Latos lowered his ERA at AT&T Park to 1.67.

"I think it has to do with me just being comfortable here," he said. "I pitched here for three years. Just familiar with the ballpark. Who knows? I pitched a pretty good game today. I kept the ball down and got quick outs."

Miguel Cairo added an RBI single after replacing the injured Joey Votto as the Reds won back-to-back road games following a four-game skid away from Cincinnati.

"Pitching's the key, and the last couple days we've been getting some great pitching," Reds manager Dusty Baker said. "It's especially good going against a hot club."

San Francisco managed only Brandon Crawford's third-inning double before pinch-hitter Brandon Belt tripled in the ninth and scored on Gregor Blanco's grounder.

"It's been rough the last two nights," Blanco said.

Home run king Barry Bonds was among the sellout crowd of 42,135 a day ahead of the club's 10-year reunion celebration for the 2002 World Series runners-up. The slugger high-fived fans as he made his exit in the top of the ninth.

Barry Zito (6-6) labored through six innings, his six walks one shy of his season high. He allowed five hits and one run and struck out three while throwing 99 pitches, 54 for strikes. He missed a chance to win consecutive starts for just the second time this year.

Zito was coming off seven scoreless innings in last Monday's shutout against the Dodgers that began a franchise-best string of four in a row until Matt Cain lost 5-1 Friday night, in his first home outing since his June 13 perfect game.

Zito pitched through a neck issue, but said it wasn't serious. Regardless, the left-hander could tell Latos had his best stuff.

"He was pounding the strike zone more than we're used to seeing him. He had his rhythm going," Zito said.

Zito allowed Brandon Phillips' one-out single in the fourth, then retired Jay Bruce on a groundout before surrendering three straight walks. Ryan Hanigan's bases-loaded free pass brought home Phillips as the Reds took a 1-0 lead. Zito received a mound visit from pitching coach Dave Righetti, then struck out Latos.

When Zito walked leadoff man Zack Cozart — who had the first-pitch homer Friday to start the game off Cain — to begin the fifth, and a reliever began warming up for a second time. Drew Stubbs then walked and out came Righetti again.

Votto's grounder was the second out and he injured himself running to first. After an intentional walk to Phillips loaded the bases, Bruce lined into a double play on which shortstop Crawford easily threw out Stubbs at second after he wandered way off the bag.

Cairo replaced Votto in the bottom of the fifth, a precaution as he nurses inflammation in his left knee.

San Francisco third baseman Pablo Sandoval was slow getting up after making a diving belly flop catch on Stubbs' seventh-inning bunt. Manager Bruce Bochy and athletic trainer Dave Groeschner came out to check on him and Sandoval stayed in the game.

Sandoval said his protective cup moved up and down on the play.

"I felt nausea, I got hit pretty hard," he said. "There's a lot of pain, but I'll be fine tomorrow."

Brad Penny made his season debut for the Giants in the seventh. Signed to a minor league deal May 18, he was called up Friday.

Notes: San Francisco's Aubrey Huff will begin a rehab assignment Wednesday for Class A San Jose and stay with the club through the All-Star break before being activated from the 15-day disabled list. Huff, who sprained his right knee jumping the dugout rail to celebrate Cain's perfecto, is eager for a fresh start after also missing time with anxiety disorder. "It's been kind of a depressing first half for me," Huff said. "My whole career I've always played two different seasons. That's what my mindset will be."... Ryan Vogelsong (7-3), with a 1.47 home ERA this year, pitches the series finale for San Francisco against RHP Bronson Arroyo (3-5). ... Darren Baker, 13, is excited for Sunday's festivities. He was a 3½-year-old bat boy who ran into play before J.T. Snow scooped him up at the plate and out of harm's way in the 2002 World Series between San Francisco and the Angels. "Nah, I can't believe it," Darren said of it being 10 years later. "I remember parts of it, just not the whole thing."