"We continue to get our opportunities to score and we just can't score," manager Mike Redmond said. "That's just where we're at. We've been watching this all year. It's frustrating. We continue to get guys in situations and we're just not able to drive a runner in."
The Marlins had scoring chances ripe for the taking in the seventh, eighth and 10th innings, but continue to struggle to drive in runs.
In the seventh, the Marlins knotted up the score at 3, but Jeff Mathis grounded into a double play with the bases loaded to end the inning.
In the eighth, Adeiny Hechavarria reached third against White Sox reliever Jesse Crain, who hadn't surrendered a run in 17 2/3 innings. Marcell Ozuna kept Crain's streak alive by grounding out to short.
Then in the 10th, with runners on first and second, Marlins third baseman Placido Polanco grounded into a double play. And Miami was lucky it even had a chance in the 11th inning. First-base umpire Angel Hernandez called Alex Rios out at first on a play that would have won the game in the bottom of the 10th.
Miami decided to intentionally walk the bases loaded with one out to get to Rios, who owns the longest current hitting streak (18) in the Majors. He hit a chopper into the heart of the infield for a double-play opportunity and narrowly beat the throw to first. Hernandez called Rios out, and play continued for one more inning, in which the Marlins sputtered and Keppinger closed out the game.
"It's those guys' job to drive in runs," Redmond said. "They get paid to drive in runs. Obviously, we don't get the job done. I don't know what happens."
Miguel Olivo's sacrifice fly in the seventh was the only run the Marlins managed after Derek Dietrich's two-run home run in the fourth inning.
John Danks mowed down the nine of the first 10 batters he faced in his first start since May 19, 2012, but it's been difficult to keep Dietrich off the basepaths since his callup to the Majors on May 8. The rookie has successfully reached base in all 13 of the games he's played, and he blemished Danks' line for two runs.
That home run stood up until the bottom of the fifth inning, when the White Sox tallied their first two runs. Keppinger grounded out to drive in a run and then catcher Hector Gimenez continued the South Siders' recent stretch of productive two-out hitting with an RBI single to drive in third baseman Conor Gillaspie.
Marlins starter Tom Koehler, who was seeking the first win of his career, shook off a third-inning comebacker he took beneath his shoulder blade.
The right-hander is no stranger to having batted balls come his way. He took a line drive to the face during his first college start in his freshman year at Stony Brook University and needed 10 stitches to keep his right ear from falling off. His college manager put him in the game two days later as a reliever to "shake the rust off." On Friday, he said he thought back to that moment right as he turned away from the ball coming toward him.
"You're just thankful it's not the head," he said. "Any time it's the back like that, you realize it's pretty close to taking it off the face. You gather yourself to make the next pitch more than you really do to shake off the pain of getting hit in the shoulder."
Koehler said the ball that hit him didn't affect his pitching, although he did expect it to leave a bruise. For the majority of his start, Kohler looked strong in his second straight quality outing. The rookie shut down the White Sox for the first four innings, but he left the game shortly after Paul Konerko spoiled his chances at his first Major League win with an RBI single in sixth inning that gave the White Sox a 3-2 lead. Over six innings, Kohler allowed three runs on six hits and struck out three.
"Guys have pitched their butts off," Redmond said. "Guys are almost having to pitch perfect just to keep ourselves in a game, and that's tough to do in the big leagues, especially against good lineups. I thought Tom did a good job going out and attacking the zone. He really just had that one inning where he gave up a couple runs."
Danks finished with a similar line as Koehler, and although he didn't get the win, it was a celebratory moment for the White Sox clubhouse. Chicago saw one of its leaders return to the Majors after arthroscopic surgery cut Danks' season short in 2012. Danks threw six innings and held the Marlins to four hits and three runs.
"Going into the game, if you told me I would go six [innings] and three [earned runs], that would have been good," Danks said. "I felt great. I felt really good. 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."
Outside of the home run, Danks twirled a solid game against Miami's youthful lineup. He and Koehler dueled back and forth until the White Sox finally caught up to the rookie right-hander in the fifth inning. Koehler's ERA is 3.17 in his three starts since switching over from the bullpen on May 12.
But once again the Marlins couldn't back Koehler's effort when they needed a big hit, the story of not only the game but also the season.
"Obviously, the guys aren't trying for that," Redmond said. "But it's happened a lot."