CHICAGO -- John Danks wanted to pitch deeper into the game.
Nevertheless, he was still happy with the results.
Danks allowed three runs and four hits in six innings in his first start since undergoing shoulder surgery in August to repair a capsule tear and remove debris in his rotator cuff and biceps. He struck out five, walked none and hit a batter in the opener of the interleague series.
"It was a good first one," Danks said. "I did as much as I had hoped to do. Obviously, as the game went on, I wanted to go further, but I totally understand the move, totally agree with the move and I'm glad we got the win."
Danks went 3-4 with a 5.70 ERA in nine starts last season as the team's opening day starter. He last pitched May 19, 2012, against the Cubs. The left-hander made four minor-league rehab starts before debuting Friday.
He threw 76 pitches, allowing a two-run home run to Derek Dietrich in the fourth.
"The best part was his command and keeping everything in check and doing everything he needed to do," White Sox manager Robin Ventura said. "He was getting people to swing and miss. It's what you would expect of him coming back and being at full strength."
Paul Konerko started the White Sox rally with a one-out single in the 11th. Pinch runner Tyler Greene moved to third when Dayan Viciedo singled off the glove of second baseman Dietrich.
After Ryan Webb (1-2) intentionally walked Conor Gillaspie, Keppinger singled to left field.
"It just feels like our offense is starting to do a little bit more and we're still getting good pitching," Keppinger said.
Nate Jones (1-4) pitched two-thirds of an inning for the victory.
Marlins starter Tom Koehler gave up three runs in six innings in his first career interleague start. He struck out three and walked one.
Koehler remained in the game after a Keppinger line drive struck him on the back of his right shoulder in the third inning. Koehler said the ball struck him underneath his shoulder blade.
"It actually hit me in a pretty decent spot," Koehler said. "As far as affecting the way I threw, it had no bearing on anything, which was nice. It will be a little sore tomorrow, but it shouldn't be anything to worry about."
The Marlins tied it at 3 in the seventh. Marcell Ozuna led off with a double, forcing Danks from the game.
Ozuna advanced on a Justin Ruggiano single off Matt Lindstrom and scored on a Miguel Olivo sacrifice fly. After a Nick Green single loaded the bases, Lindstrom got a double play to end the inning.
Konerko hit a go-ahead, two-out single off Koehler for a 3-2 White Sox lead in the sixth. Alex Rios scored after extending his career-high and AL-leading hitting streak to 18 games with a one-out single.
Dietrich hit a two-run homer off Danks for a 2-0 Marlins lead in the fourth. Placido Polanco scored after leading off with a single for the Marlins' first hit.
"I felt great. I felt really good," Danks said. "I felt like I was able to make the ball move and do what I wanted to do for the most part. There were a few pitches I would like to have back. I felt like I made a good pitch to Polanco, and he got a knock and the homer. I should have thought more about that one."
The White Sox scored two runs to tie it at 2 in the fifth. Keppinger's RBI groundout scored Viciedo, who reached on a force out and advanced on a Gillaspie double. Hector Gimenez hit a two-out single to tie it.
The White Sox threatened in the 10th. Keppinger led off with a single before Chad Qualls hit Gimenez with a pitch. Both runners advanced on an Alejandro De Aza sacrifice bunt. After Qualls intentionally walked Alexei Ramirez, Rios hit into an inning-ending double play with a close call at first that brought out Ventura to talk to umpire Angel Hernandez. Replays showed Rios' foot on the bag before the throw arrived.
"You have to put it behind you," Ventura said. "Fortunately, you get somebody on, and Paulie gets on and Tank [Viciedo] got that hit [in the 11th]. Stuff happens. You just have to roll with it."
The White Sox are hopeful LHP Chris Sale will make his scheduled start on Tuesday against the Cubs. He missed his start Wednesday against the Red Sox because of shoulder tendinitis. "In my mind, I'm going for sure, but I don't know what [the team has]," Sale said. "That's the target. That's what we're shooting for, but just like anything else, it's out of my hands." Sale said he felt good going through his shoulder program and he plans to play long toss Saturday. ... White Sox 2B Gordon Beckham won't play in his rehab assignment at Triple-A Charlotte until at least Wednesday because he is experiencing soreness in his left hand, general manager Rick Hahn said. The hamate bone in Beckham's left hand was removed April 16, and he began a rehab assignment May 18. "It's nothing to be alarmed about," Hahn said. ... To make room for Danks, the White Sox optioned LHP Donnie Veal to Triple-A after Wednesday's game.