CHICAGO (AP) -- Nelson Cruz and Kyle Seager homered, and the sloppy Seattle Mariners beat the Chicago White Sox 4-3 on Saturday night for their third straight victory.
Seattle committed three errors, and Felix Hernandez (5-3) plunked Jose Abreu twice and threw a wild pitch. But Cruz's two-run shot off Anthony Swarzak (4-3) - just the second homer allowed by the reliever this season - made it 4-3 Mariners in the sixth, and their bullpen shut down the lowly White Sox the rest of the way.
Steve Cishek, Tony Zych and Nick Vincent each pitched a scoreless inning before Edwin Diaz finished for his 15th save in 18 chances. The right-hander struck out Abreu with runners on first and second for the final out.
Diaz also got the save in Seattle's 4-2 win in the series opener Friday night.
Melky Cabrera had four hits and two RBIs for last-place Chicago, including his fourth career leadoff homer. Tim Anderson added two hits.
The White Sox loaded the bases with no outs in the third and fifth and only managed one run on the pair of prime scoring opportunities. Cabrera scampered home on Todd Frazier's double-play grounder in the fifth, giving Chicago a 3-2 lead.
Seattle responded in the sixth. Robinson Cano walked leading off against Dan Jennings, and Cruz greeted Swarzak with a drive to center for his 18th homer.
The game took a wild turn in the bottom half when White Sox manager Rick Renteria was ejected for arguing with second base umpire Tom Hallion that Anderson should have been awarded third on an errant pickoff attempt by Cishek. Renteria and Hallion had an animated discussion before the manager decided to leave the field.
Anderson advanced to third on Kevan Smith's grounder to first and Adam Engel walked before Cabrera bounced out to end the inning.
Chicago also was hurt by another so-so start by Mike Pelfrey in their sixth loss in seven games. Pelfrey allowed just one earned run on Seager's 11th homer in the second inning, but the big right-hander was pulled with two out in the fifth inning.
Pelfrey dropped to 1-4 in his last 10 games, eight starts.
Hernandez was charged with three runs, one earned, and six hits in five innings in his second straight win. He pitched six sharp innings in Seattle's 4-0 victory against Oakland on Sunday in their final game before the All-Star break.
Seattle manager Scott Servais said Sam Gaviglio probably will be recalled from Triple-A Tacoma when the Mariners need a fifth starter, likely Tuesday night at Houston. The corresponding move could depend on the health of Cruz, who has been bothered by a right knee injury.
"He says he feels better when he runs faster," Servais said. "When he is going that - I don't even call it half-speed, it is below half-speed - it looks like it hurts really bad and it's 'No, I'm fine, I'm fine. When I run fast I'm fine.' That in-between, I don't know. I do know I like him in the batter's box, but we do need to have some coverage there if it continues because if you're in a tight game and you're down you're going to have to pinch-run."
The White Sox acquired minor league infielder Yeyson Yrizarri from the Rangers for international signing bonus pool money. The 20-year-old Yrizarri hit .258 with seven homers and 37 RBIs over 82 games with Class A Down East and Class A Hickory this season.
Mariners: RF Mitch Haniger jammed a thumb on a bunt attempt in the fifth. He was replaced by a pinch hitter in the sixth.
White Sox: OF Leury Garcia (sprained finger on left hand) could begin a rehab stint in the next day or two, according to manager Rick Renteria. "He's been working, swinging the bat, doing all the things that he needs to," Renteria said.
Mariners RHP Andrew Moore (1-1, 3.86 ERA) and White Sox LHP Derek Holland (5-9, 5.01 ERA) are to start the series finale on Sunday. Moore is making his fourth career start. Holland is 1-6 with an 8.76 ERA in his last eight outings, falling off after a nice start to the season.