Reynaldo Lopez pitched into the seventh inning, Daniel Palka had a two-run double and the Chicago White Sox beat the Boston Red Sox 5-2 Sunday.
Lopez (2-4) gave up two runs and six hits while striking out six with three walks in 6 1/3 innings to improve to 1-3 in eight road starts this season.
Jose Abreu, Tim Anderson and Trayce Thompson added one RBI apiece for Chicago, which won two of three in the series and six of its last 10 overall. The White Sox finished their seven-game road trip at 4-3, capping their second winning trip of the season.
Joakim Soria pitched a scoreless ninth for his eighth save.
Rafael Devers drove in a run for Boston, which has lost three of four.
Red Sox starter Rick Porcello (8-3) gave up three runs and five hits over six innings, walking three and striking out five.
Abreu ripped an RBI double to left field scoring Yoan Moncada from first to put Chicago ahead 1-0. Devers tied it with his RBI single to center in the second after J.D. Martinez's leadoff double.
Porcello hit Matt Davidson on the hand with a fastball to load the bases with one down in the third. Omar Narvaez popped out to shortstop the next at-bat, but Porcello walked Tim Anderson to force in a run and put Chicago ahead 2-1.
Porcello won a foot race to first on Thompson's one-out grounder in the sixth, but stumbled into first base umpire Quinn Wolcott. Anderson took advantage, rounding third and easily beating Porcello's throw home for a 3-1 lead.
Moncada booted Eduardo Nunez's two-out grounder to second in the seventh that would have allowed the White Sox to escape a bases-loaded jam, bringing the Red Sox within a run. Palka's double to left with two out in the ninth sealed the win.
RHP Lucas Giolito (4-6, 7.08 ERA) faces Cleveland tonight to begin a seven-game homestand.