CHICAGO (AP) -- As he watched from the dugout, Paul Molitor had no desire to grab a bat and step in against Jeff Samardzija.
The Hall of Famer had plenty of sympathy for his batters, though.
Samardzija fought off a shaky start to pitch three-hit ball over eight innings, and the Chicago White Sox beat the Minnesota Twins 3-2 on Friday night.
"It looked like it wasn't a very pleasant night to try to hit off of him," Molitor, the Twins' manager, said.
Samardzija gave up two runs in the first inning and took over from there, retiring 17 straight at one point.
"With this offense we have, I understand that I just need to go out and battle every inning and get us back in the dugout and we're gonna have a chance to win," Samardzija said.
J.B. Shuck delivered the go-ahead sacrifice fly in the eighth, and the White Sox opened the weekend series on a winning note after dropping three in a row.
Samardzija (4-2) struck out a season-high nine and walked one while winning his second straight start. He was nearly untouchable after the first, when Minnesota's Joe Mauer doubled in a run and scored.
He walked Eduardo Escobar leading off the second, then retired 17 in a row before Escobar singled with two out in the seventh. Samardzija then struck out Eddie Rosario and pounded his glove as he walked toward the dugout.
"He was throwing 95, 96 (late). That's a football player from Notre Dame," said Minnesota's Torii Hunter, whose son Torii Jr. is a receiver for the Fighting Irish.
Samardzija, of course, was an All-American receiver at Notre Dame.
"The last two times out, I've felt really good," he said. "Me and (pitching coach Don Cooper) made some adjustments in what we're doing, just trying to keep me back and not so aggressive all the time. But understand when you need to add and understand when you need to subtract."
David Robertson retired the side in the ninth for his ninth save in 10 chances.
The winning rally started when Aaron Thompson (0-1) walked pinch hitter Gordon Beckham with one out in the eighth. Alexei Ramirez followed with a single off Michael Tonkin, putting runners on first and third, and Shuck drove in the go-ahead run with a sacrifice fly to center.
Shuck had two hits and scored a run filling in for Avisail Garcia, a scratch from the lineup because inflammation in his right knee.
Jose Abreu extended his hitting streak to 17 games with a line-drive single off the left-field wall in the fifth. Geovany Soto had two hits, including a two-run double, for Chicago.
Minnesota's Phil Hughes gave up two runs and eight hits over seven innings. But he did not figure in the decision after winning his previous three starts.
"I felt like tonight could have been seven or eight shutout for me if a few things happened differently in that fourth inning," Hughes said. "But overall I felt like I'm throwing the ball Ok. My stuff's been very mediocre, so it's kind of one of those things where I just really had to rely on locating the ball and manufacture outs that way."
Manager Robin Ventura said Carlos Rodon's turn in the rotation will be skipped. Hector Noesi will start Monday in his place.
A MEYER MOVE
The Twins have moved RHP Alex Meyer, one of Minnesota's top prospects, to the bullpen at Triple-A Rochester. Assistant general manager Rob Antony said they are trying to raise his arm slot and don't plan to keep him in relief long term, although he did not rule that out. Meyer was 2-3 with a 7.09 earned-run average in eight starts for Rochester.
Twins: RHP Casey Fien (right shoulder), on a rehab assignment with Triple-A Rochester, is expected to pitch an inning Saturday and have two days off. Then, he will pitch on consecutive days. . OF Oswaldo Arcia (hip) is expected to start a rehab assignment this weekend at Rochester. . OF Jordan Schafer got a second opinion on his right knee from Dr. James Andrews, who confirmed he doesn't need surgery.
White Sox: Garcia said there is no structural damage in his knee, and he hopes to be in the lineup on Saturday, as long as he's feeling better.
The White Sox send ace Chris Sale (3-1, 4.36 ERA) to the mound, with RHP Trevor May (2-3, 5.15) starting for the Twins on Saturday.