MILWAUKEE (AP) James Shields finally figured things out in the bullpen Thursday night.
The right-hander struck out a season-high nine over seven innings, and the San Diego Padres beat the Milwaukee Brewers 3-0.
''I felt really good,'' Shields said. ''I think I cleaned up my delivery a little bit in the bullpen session, and I was more consistent.''
San Diego won its third straight game for the first time this season. Shields (2-5) allowed seven hits and one walk, Brandon Maurer pitched the eighth and Ryan Buchter had the ninth for his first major league save.
''He's been fighting all year, and it really came together tonight for him,'' San Diego manager Andy Green said of Shields. ''He battled all day, gave us seven strong.''
Melvin Upton Jr. homered for the fourth time and had three hits, two RBIs and two runs for the Padres one day after San Diego swept a doubleheader at the Chicago Cubs.
Milwaukee's Jimmy Nelson (4-3) pitched a season-high eight innings and gave up two earned runs on five hits but lost for the second time in his last seven starts.
Ryan Braun extended his hitting streak to 12 games for the Brewers, who are 3-6 in their last nine games.
Milwaukee put the leadoff batter on in four of the first six innings, but Shields avoided damage each time in his first start against the Brewers in his 11-year career.
In the first, Shields allowed a leadoff double to Domingo Santana and then a single to Scooter Gennett. Gennett was thrown out in a run down between first and second, though, and then Shields got Braun and Jonathan Lucroy to ground out.
Jonathan Villar singled to lead off the sixth for Milwaukee. Another single by Gennett put runners on first and third with one out, but Braun hit into a double play.
''We had the right guy up there, for sure,'' Milwaukee manager Craig Counsell said.
San Diego was able to capitalize when its leadoff batters reached, beginning in the fourth when Wil Myers singled. He stole second and scored on a two-out single by Upton to center field.
The Padres took a 2-0 lead in the seventh. Upton led off with a double, advanced to third on a fly out to right field by Christian Bethancourt and scored on a sacrifice fly to left from Alexei Ramirez.
Upton's solo blast came in the ninth off reliever Tyler Thornburg, giving him two homers in three days.
San Diego C Derek Norris was replaced by Bethancourt in the second inning because of a bruised left hand after he was drilled by a pitch. X-rays were negative, according to Green.
After the game, the Brewers announced they acquired RHP Jhan Marinez from Tampa Bay for cash and designated LHP Michael Kirkman for assignment.
FACED THEM ALL
Shields has now faced all 30 teams and has pitched in every current stadium but Great American Ball Park in Cincinnati.
UPDATE ON WEEKS
Green told reporters before the game that 2B Jemile Weeks' right hamstring strain will keep him out at least two to three weeks.
''We're going to reevaluate at the end of that and see what kind of progress he's made,'' Green said. ''He played tremendous defense. As far as I'm concerned, Gold Glove-caliber defense. It hurts for him, hurts for us to have him out that much longer.''
Weeks, who was injured Saturday and is on the DL, will be replaced by Jose Pirela. Adam Rosales will back him up.
''This wasn't the infield design we had when leaving spring training,'' Green said.
Padres: RHP Andrew Cashner will miss his turn Friday because of cramps in both hamstrings. Manager Andy Green says Cashner is scheduled to pitch Saturday but ''we'll see if he's capable of making that start.''
Brewers: 2B Gennett (right oblique) was reinstated from the DL before the game and INF Yadiel Rivera was optioned to Triple-A Colorado Springs.
Padres: Christian Friedrich will be called up from Triple-A Tuscon on Friday to replace Cashner.
Brewers: RHP Junior Guerra (1-0, 6.00) makes his third major-league start.