SAN DIEGO – The Braves haven't won at Petco Park in nearly three years, and in three of their past four games here they've done something both highly undesirable and difficult: They failed to score after loading the bases with none out.

On Tuesday, the Braves did that, plus something that few teams have done in recent years: They gave up two homers to Melvin Upton Jr.

After the Braves failed to score with bases loaded and none out in the fourth inning of what was then a one-run game, things went completely off the tracks for the visitors, as Upton drove in five runs and the bullpen got torched for seven runs in a 9-0 blowout win for the Padres, their ninth in a row against Atlanta at Petco Park.

Braves rookie Matt Wisler, a former Padres prospect, gave up six hits and two runs in five innings, with two walks and two strikeouts. He was struck by a line drive in the back of his right arm in the fifth inning, and manager Fredi Gonzalez said he didn’t want to risk pushing him any further in case the arm stiffened between innings.

Wisler had his arm wrapped after the game as a precautionary measure, and said it was only a little sore and not something that would keep him from making his next start.

“You know, it’s a 2-nothing game (after five innings) and you’ve got the (relievers) you feel are the good matchups,” Braves manager Fredi Gonzalez said. “They’ve done a good job and continue to do a good job, but today that didn’t happen. They scored a lot of runs against those guys today.”

Padres pitchers have a 1.34 ERA during a nine-game home winning streak against the Braves that began in August 2012.

The Braves have lost 17 of their past 19 road games, have the second-most road losses (42) in the majors, and need a win Wednesday to avoid being swept for the third year in a row at Petco Park.

Upton had an RBI single in the bottom of the fourth to push the lead to 2-0, and hit a two-run homer in the sixth off reliever David Aardsma, after brother Justin Upton doubled to start the inning. Melvin Upton added a two-run homer off rookie left-hander Andrew McKirahan in the seventh.

The Braves had a total bullpen meltdown in the five-run sixth, when Yangervis Solarte also hit a three-run homer off Ross Detwiler. The lefty gave up two hits and three walks and failed to record an out.

The Braves are 2-17 with a 5.53 ERA in their past 19 road games, compared to 19-11 with a 3.22 ERA in their past 30 home games.

“We have a young team obviously, especially in the pitching staff,” veteran catcher A.J. Pierzynski said. “I don’t know what the numbers say, but they probably pitch better at home than they have on the road. It’s a comfort factor. It’s a routine. But we work with these guys and we’re trying, and they’ll get better.

“I just think they’re trying to figure it out at the big-league level. They’re learning a lot, and you can see them processing it all. Especially Wisler, Folty and a lot of guys coming out of the bullpen. They’ve never been in this situation, they’ve never been in any of these stadiums, they’ve never seen half these guys. So they’re trying to figure it out. They’re doing a good job and I’m proud of them.”

Relievers fanned the flames on a night when the lesser Upton did most of the damage to his former team. The Braves traded Justin Upton to San Diego in December and traded Melvin (the erstwhile B.J. Upton) to the Padres in the six-player blockbuster on the eve of opening day.

Melvin Upton had two homers and five RBIs, after coming into the game batting .225 with three homers and eight RBIs in 120 at-bats. He was a late addition to the lineup after center fielder Will Venable was traded to the Rangers shortly before Tuesday’s game.

A year ago in August at Petco Park, the Braves failed to score after loading the bases with none out in consecutive one-run losses, each time ending an inning by grounding rare 5-2-3 double plays. In one of those instances, it was the Upton then known as B.J. who grounded into the inning-ending double play.

The Braves had a chance to get a lead in the fourth inning Tuesday for Wisler, who was traded to Atlanta in the Justin Upton deal. They loaded the bases on Pierzynski’s leadoff walk and consecutive singles by Adonis Garcia and Jace Peterson, another former Padre who came to Atlanta in the Justin Upton trade.

Padres starter James Shields (8-5) got out of the jam by striking out Joey Terdoslavich, who started at first base in the last game before Freddie Freeman returns from the disabled list Wednesday, and inducing a double-play grounder from Andrelton Simmons, this time of the more conventional 6-4-3 variety.

“We had a chance,” Pierzynski said. “We had the bases loaded with no outs and we didn’t score. Give Shields credit, he made pitches. I mean, there were chances. We had a chance right there to get the lead, (then maybe) Wis rolls out and gets a couple more innings and next thing you know we win the game.

“So there’s opportunities, you just have to take advantage of them.”

The only other time the Braves had a runner in scoring position against Shields was when Adonis Garcia doubled to start the second inning. He was still stranded there after Peterson and Terdoslavich followed with strikeouts and Simmons grounded out to end the inning.

Shields won for he second time in his past 12 starts, limiting the Braves to five hits and two walks with seven strikeouts in six innings.

Wisler, pitching against the team that drafted and developed him before trading him to the Braves on the eve of opening day, issued two walks in a scoreless first inning and threw a lot of pitches in the first two scoreless innings, hence his 85-pitch count in five innings despite being more efficient as the game went on.

He’s 0-2 with a 7.20 ERA in four August starts, after going 5-1 with a 3.43 ERA in his first seven starts.

“The first couple of innings he was kind of picking a little bit,” Pierzysnki said. “As the innings went on he got more and more command of his off-speed pitches, which is huge for him. We need more than five innings, and he knows that. We talked to him about it. The last two outings he’s only given us five, but he’ll continue to get better.”

Wisler has lasted 5 1/3 innings or fewer in each of his four August starts, after pitching six or more innings in four of his first seven starts including eight innings in his debut.

“That’s definitely something I need to start doing is start getting deeper in games,” he said. “I try and pride myself on going six or seven every time out, and I haven’t done that in my last however many starts. So I definitely need to start getting more efficient on the mound. I thought I made some strides the last couple of innings. I had almost 50 pitches through the first two, and after that I got down to 15 pitches an inning. Being more efficient, attacking guys early in the count and getting ahead. I haven’t been doing that as well as I should have been lately.”