CINCINNATI -- Instead of falling apart on the road, the San Francisco Giants' bullpen fell into place.
Juan Uribe drove in four runs with two singles, providing the Giants' final lead in a back-and-forth game, and a bullpen that has struggled away from home was nearly perfect Monday night, holding on for a 6-5 victory over the Cincinnati Reds.
"It's a hitters' park," Giants manager Bruce Bochy said. "You're going to give up more runs here. The 'pen -- what a job they did. We had a one-run lead and they came in and did the job."
Uribe had a two-run single in the third and another in the seventh, when the Giants rallied against reliever Daniel Ray Herrera (0-3) and put themselves in position for their ninth win in their last 13 games.
The Giants' bullpen has been a mess on the road this season, putting up a combined 4.96 ERA. It had to survive one of the majors' most hitter-friendly ballparks to keep San Francisco's on its winning surge.
It not only survived, but made it look easy. After starter Barry Zito left with two outs in the sixth, four relievers held the reds without a hit or a walk the rest of the way.
Sergio Romo (2-3) got the victory in relief. Brian Wilson recovered from a blown save in his last outing, pitching a perfect ninth for his 15th save in 17 chances.
"Our bullpen as a whole has a mentality that we're going to go at you with our best stuff," Wilson said. "We're not going to give in, we're not going to pitch around you. With that mentality, you're going to fail sometimes. Tonight we made the pitches when we needed to."
Zito, winless since May 16, couldn't hold an early 4-1 lead that was set up by his rare two-RBI hit.
The pitcher had only five career RBI -- none this season -- when he came to bat against Johnny Cueto in the second with two outs. A wild pitch left both runners in scoring position, and Zito lined a fastball off the middle of the bat for an opposite-field single and a 2-0 lead.
Ahead 4-3 in the bottom of the sixth inning, Zito retired the first two batters before loading the bases on a single and two walks. Pinch-hitter Miguel Cairo singled through the hole at shortstop for a 5-4 Cincinnati lead, ending Zito's outing.
"I certainly had decent stuff," said Zito, who gave up eight hits and three walks. "I left a few curveballs up that hurt me, especially the one to Cairo."
Cueto gave up four runs and 10 hits in six innings, but left with the lead and a chance to extend a five-game winning streak that is the best of his career.
"He was missing his spots," catcher Ramon Hernandez said. "He got ahead of a couple of guys, but he couldn't put them away. He worked his heart out and kept us in the game and gave us a chance to come back."
Instead, the Giants rallied against the bullpen. It was the fifth time this season that Cueto left the game with a lead, only to have the bullpen blow it.
"He kept us right there," manager Dusty Baker said. "They were hitting the ball pretty hard and consistently, but we couldn't afford to go to the bullpen that early. He left with the lead. We just couldn't hold it."
Herrera gave up singles by Freddy Sanchez and Pablo Sandoval, who advanced on a groundout. Uribe then singled off Enerio Del Rosario for a 6-5 lead and his team-high 37th RBI.
Bochy tweaked his lineup, giving struggling catcher Bengie Molina a day off. Bochy revealed before the game that Molina got an injection for his sore left elbow last week. Catcher Buster Posey, rated the Giants' top prospect, made his first start behind the plate this season and had two singles.
A man wearing a Mike Krukow Giants jersey and waving a "Go Buster" sign dived over a row of seats to get a foul ball hit by Posey in the second inning. ... Sanchez extended his hitting streak to 11 games. He's 20 for 40 during the streak. ... Giants INF Emmanuel Burriss (left foot fracture) will begin a rehabilitation stint at Class-A San Jose on Tuesday. ... The Reds took C Yasmani Grandal from Miami with the 12th overall pick in the draft. The Giants took OF Gary Brown from Cal State Fullerton with the 24th overall pick.