Updated

The calendar has almost flipped to September and the Atlanta Braves are in a cold spell.

Not a good time to be in San Francisco.

Barry Zito took a three-hit shutout into the ninth inning to outlast Tommy Hanson, and the surging Giants rolled past the Braves 5-2 on Thursday night for their fourth straight win.

Atlanta has lost five of six games and has three more left in a weekend series against the NL West leaders.

"Tommy didn't pitch that bad," Braves manager Fredi Gonzalez said. "We didn't play very good."

About the only mistake Zito made was insisting he felt fine to finish the game. After allowing consecutive singles to open the ninth, he had just two words for Giants manager Bruce Bochy when he came out to take the ball.

"He said, 'I'm sorry,'" Bochy recalled. "He felt horrible."

For the first 24 outs, he sure looked sharp.

Fresh off a sweep at the rival Los Angeles Dodgers, San Francisco stayed hot on a chilly and fog-filled night along the bay. Zito (10-8) allowed five hits, struck out five and walked three before Freddie Freeman's two-run double off reliever Jeremy Affeldt broke up the shutout.

With two runners on, Sergio Romo — the third reliever of the inning — got pinch-hitters Jason Heyward and Juan Francisco to ground out for his sixth save.

"It feels good to help the team," said Zito, left off the postseason roster during San Francisco's championship run two years ago. "We had a great road trip and we had a difficult homestand last time. So it was big momentum-wise to come out here and help the team."

Hunter Pence, Brandon Belt and Pablo Sandoval each drove in a run to chase Hanson (12-6) after 4 1-3 innings. He gave up five hits and five runs while striking out four and walking three.

San Francisco has won nine of 12 to take a three-game lead over the Dodgers in the division.

"I don't feel like I went out there and got lit up," Hanson said. "It wasn't like they were hitting lasers all over the place. It was just a tough one."

Angel Pagan extended his hitting streak to seven games with a single in the first. He walked in the third, stole his 21st base and slid home on Sandoval's two-out blooper to left to give the Giants a 1-0 lead.

Pagan also walked leading off the fifth and Marco Scutaro singled to put runners on the corners. After Sandoval struck out, Pence pushed a bunt for an RBI single past Hanson to spark San Francisco's surge.

"I was as surprised as anybody," Bochy said.

Belt's hard grounder skipped off Freeman's glove at first for a two-base error, and Hector Sanchez followed with a two-run double to push the Giants ahead 5-0.

More than enough for Zito on this night.

The high-priced lefty, often the sore in San Francisco's rotation, had hitters chasing his slow-moving breaking balls all over the strike zone — and out of it, too. Zito also helped himself by fielding Hanson's comebacker cleanly with two runners on in the second and picking off Dan Uggla at first base in the fourth.

"He's left-handed and he frustrates us," Gonzalez said. "He throws that fastball just above the strike zone and spins the curve. We did not have a good approach against him early. We weren't very good. I don't know if it was Barry being dominant or us not being good. He's deceptive and he can be frustrating with that curve and change."

Fans chanted "Barry! Barry! Barry!" — usually reserved for home run king Barry Bonds — when Zito was announced at the plate with one out in the eighth. After he dropped down a sacrifice bunt to move Brandon Crawford to second, the crowd gave him a standing ovation jogging back to the dugout.

Martin Prado and Chipper Jones singled leading off the ninth to dash Zito's shot at a complete game. Freeman hit a two-run double off Affeldt for Atlanta's only runs, and Uggla walked. Javier Lopez — San Francisco's third lefty — struck out Brian McCann before Romo, a righty, came on to end it.

Zito, the 2002 AL Cy Young Award winner with Oakland, last pitched a complete game in his first start of the season at Colorado on April 8, when he allowed four hits in a 7-0 win.

NOTES: Giants All-Star C Buster Posey sat out for the second straight game because of tightness in his right hamstring. Asked if he would play Friday, Posey said, "I don't see any reason why not." ... Heyward was not in the starting lineup with fellow left-hander Zito starting. ... The Giants honored retiring Braves 3B Chipper Jones with a video montage before the game. He received a standing ovation from fans and tipped his hat to the crowd from the dugout's top step. ... Giants RHP Ryan Vogelsong (10-7, 2.85 ERA) starts opposite Braves RHP Ben Sheets (4-3, 3.07 ERA) on Friday.

___

Follow Antonio Gonzalez at: www.twitter.com/agonzalezAP