Conor Gillaspie hit a run-scoring single in the ninth inning to score Dewayne Wise, lifting the White Sox to a 2-1 win over the Miami Marlins on Saturday night.
Derek Dietrich homered in the top of the ninth to spoil Jake Peavy's shutout bid, but in the bottom half, Gillaspie drove in Wise -- who had come in as a defensive replacement -- to give the White Sox their eighth win in 11 games.
Peavy (6-2) struck out five and allowed six hits in the complete-game effort, his longest outing of the season.
Ryan Webb (1-3) gave up Gillaspie's single to take the loss for Miami, which dropped its fourth straight and 11th in the last 13 games.
Alexei Ramirez gave Chicago a 1-0 lead with an RBI double in the third. Juan Pierre mishandled the ball in the left-field corner -- but wasn't charged with an error -- allowing Alejandro De Aza to score from first.
Ricky Nolasco allowed one run and eight hits and struck out six in 7 2-3 innings for Miami but couldn't earn his second consecutive win after beating Arizona on May 19. The Marlins right-hander has allowed two runs over his last two starts.
With his home run, Dietrich reached base for the 14th straight time to start his career, which is second in Marlins history behind Kevin Millar's 17 games in 1999.
In the eighth, Peavy allowed a one-out double to Greg Dobbs and walked Adeiny Hechavarria but escaped the inning by getting Rob Brantly to pop out and Juan Pierre to fly out.
Peavy, who lost his previous start at the Angels on May 19, giving up four runs in six innings, had no such problems Saturday until the ninth. Facing a Miami team that entered play hitting .221, Peavy was only threatened during the second and eighth before Dietrich's home run.
Nolasco was also strong. After Gillaspie singled in the fourth, Nolasco retired nine straight until Jeff Keppinger's infield single with one out in the seventh.
Keppinger went 2 for 3 and is hitting .434 (10 for 23) over his last seven games. Gillaspie also had three hits.
Alex Rios went 0 for 4, snapping his 18-game hitting streak, which had been the longest in the American League this season.
Miami, which hit into three double plays Friday, had its first scoring chance in the second when Justin Ruggiano grounded into one with no outs. Marcell Ozuna and Chris Coghlan had singled, but Miami didn't score after the double play and Greg Dobbs' strikeout.
With the single, Ozuna extended his hitting streak to 10 games.
Chicago loaded the bases in its half of the second but Hector Gimenez grounded out to end the inning. Gimenez got his second straight start with Tyler Flowers missing Saturday's game because of back spasms. White Sox manager Robin Ventura said Flowers felt "pretty much" the same as he did Friday.
NOTES: White Sox LHP Chris Sale, who was scratched from his start Wednesday, played catch off flat ground Saturday. He's expected to throw a bullpen session Sunday and start Tuesday. . Marlins RHP Nathan Eovaldi pitched five innings and struck out five in a rehab start at Single-A Jupiter. Eovaldi hasn't pitched in the majors this season after going on the DL with right shoulder inflammation. . John Danks, who made his first start for the White Sox in over a year Friday night, said his left shoulder felt good one day after making 76 pitches. . Marlins manager Mike Redmond said 2B Donovan Solano, who was placed on the DL May 7 with a left intercostal strain, will be sent to extended spring training Monday. . INF Angel Sanchez was outrighted to Triple-A Charlotte after being reinstated from a rehab assignment for lower back spasms. The move clears a spot on Chicago's 40-man roster. . Sunday's pitching matchup is Miami's Alex Sanabia (3-6, 4.56 ERA) against Chicago's Dylan Axelrod (2-3, 4.13).