Updated

The Pittsburgh Pirates nearly kept up their winning road ways, but will have to wait to hit that elusive .500 mark.

The Pirates held a 5-3 lead going into the bottom of the seventh, when relievers Mike Crotta and Joe Beimel combined to allow San Diego to tie the score. Rob Johnson then homered in the eighth off Beimel to give San Diego a 6-5 win on Tuesday night.

After going 17-64 on the road last year, Pirates came in with a 10-7 road record. Pittsburgh fell to 14-16 overall.

Heath Bell came on in the ninth inning and tied Trevor Hoffman's club record with his 41st consecutive save, but not before the Pirates threatened.

Bell walked Brandon Wood to lead off the ninth. After a sacrifice bunt, Bell bounced a pitch in the dirt and Wood took off for third base. Johnson pounced on the ball and fired a low strike to Chase Headley for the second out. Bell then struck out pinch-hitter Ryan Doumit to end the game.

"You see (the ball) in the dirt and it's just a reaction to take off," Wood said. "In that situation, I felt comfortable with it. Unfortunately, it didn't work out."

Pittsburgh manager Clint Hurdle wasn't sure Wood's play was smart.

"You're already in scoring position and if you're safe, we're all happy," Hurdle said. "But he pushed the envelope a little bit. At times you have to be smart, so when you're out at third like that, it never looks good."

Johnson's first home run of the season came off Beimel (0-1) and gave the Padres just their fifth home win in 17 games, still the majors' worst home record.

Bell's 41st consecutive save, and seventh in seven chances this year, tied the team record set by Hoffman, the career saves leader. It also tied Bell with Hoffman and Rod Beck for fourth place on the all-time list.

Mike Adams (1-0) pitched one inning for the win.

The home run was Johnson's first since last May 18, when he played for Seattle.

Starting pitcher Mat Latos and Eric Patterson also homered for San Diego.

After the Pirates had taken a 5-3 lead in the seventh with three runs off reliever Luke Gregerson, San Diego rallied to tie the score at 5-all in the bottom of the inning.

Chris Denorfia and Jason Bartlett each had consecutive infield singles in the seventh against Mike Crotta. Patterson's bunt down the third-base line off Beimel loaded the bases. The left-handed Beimel then walked Ryan Ludwick to force in one run, and another scored on Jorge Cantu's double-play ground ball.

Pinch-hitter Matt Diaz doubled in one run in the Pittsburgh seventh and Andrew McCutchen followed with a two-run single to give the Pirates a 5-3 lead.

The Pirates' seventh-inning rally against Gregerson prevented Latos from winning for the first time since Sept. 7. Latos had lost nine straight games in nine straight starts since last season, which tied the club record.

Latos, who lost his first four starts this season, allowed two runs and five hits over six innings. The right-hander gave up Neil Walker's two-run double in the first.

He also led off the third with a homer into the second deck in left field. It was his first this season and the second career home run for Latos, a career .088 hitter.

Patterson, who came into the game hitting .071 (2 for 28), hit a solo homer to center field to tie the game at 2-all. Patterson hadn't homered since last July 10 for Boston at Tampa Bay.

Ludwick followed with a double and scored on Cameron Maybin's two-out single to put San Diego ahead.

Patterson replaced second baseman Orlando Hudson, who left the game with a right hamstring strain after he doubled in the first inning.

Notes: Pirates 3B Pedro Alvarez left the game after the fifth inning with tightness in his right quad. ... San Diego scored more than three runs for only the fourth time in 17 home games this season. ... Latos' homer was the first by a Padres pitcher at Petco Park, which opened in 2004. His other home run came last season on July 8 at Washington. ... The last Padres pitcher to hit a home run in San Diego was Adam Eaton on April 29, 2003, against Pittsburgh.