CHICAGO -- Carlos Quentin, Jermaine Dye and A.J. Pierzynski all showed signs of coming out of their slumps.
"You know it's just a matter of time before someone's going to be in trouble and pay," Pierzynski said. "A guy like Jermaine has a track record, and you know he's going to get it going. Carlos is going to be fine. They know they can hit. We just need to get them going -- and they will."
Chicago (11-10) rallied from a 3-1 deficit and avoided what would have been the first losing April for the White Sox since 2001.
"When a team starts scuffling, you tend to see the big boys starting to try to do too much," White Sox hitting coach Greg Walker said.
Shawn Kelley (0-1) relieved Erik Bedard with a 3-1 lead following singles by Paul Konerko and Pierzynski starting the sixth. Wilson Betemit hit an RBI double and Alexei Ramirez followed with a tying sacrifice fly.
Quentin, in a 4-for-30 slide, homered with one out in the seventh to put Chicago ahead. It was his eighth homer of the season and AL-high 44th since the start of 2008 but his first in 10 days.
Then Dye, in a 1-for-13 slump, homered four pitches later to make it 5-3. Quentin added an RBI single in the eighth against Mark Lowe.
"The one to Dye was not a good pitch at all. It was right at his belt, and with a guy that tall with long arms, that's not where you want to throw it," Kelley said. "The one to Quentin was not too bad. He just did a great job hitting it."
Kelley (0-1) had pitched 7 2/3 scoreless innings over six appearances coming in.
"He has been solid for us and this is one outing where he faced some pretty good hitters," Seattle manager Don Wakamatsu said. "That meat of the order has got some pretty good power."
Bedard allowed three runs, six hits and three walks in five innings. He entered with three walks in 26 innings over four starts this year.
Matt Thornton (1-1) pitched a one-hit seventh in relief of Gavin Floyd. Scott Linebrink followed and Bebby Jenks pitched a 1-2-3 ninth for his fifth save in five chances.
Adrian Beltre had four hits and Ken Griffey Jr. hit a two-run double for the first-place Mariners (13-9), who will lead the AL West at the end of a month for the first time since July 2003.
Griffey was batting .193 in his second tour with Seattle before doubling off Floyd for a 2-1 lead in the fifth and then scored on the second of Beltre's three singles. Beltre also had a double and lifted his average from .169 to .207.
Pierzynski's leadoff homer off Bedard in the second was the 100th home run of his career and ended an 0-for-14 drought. Pierzynski, the White Sox catcher, had three hits and also threw out Beltre at second on an attempted steal in the seventh.
Runners had been 22-for-22 on steal attempts against Chicago this season. Pierzynski raised both arms to celebrate.
"It's just nice to contribute," he said. "I hadn't really done much to help this team much this month ... especially defensively."
Ichiro Suzuki was intentionally walked in the sixth inning. Before that, Seattle's leadoff hitter hadn't walked this season. ... White Sox manager Ozzie Guillen hopes to have DH Jim Thome (heel) and 2B Chris Getz (broken middle finger) back in the lineup Friday at Texas but said it still was possible Thome could end up on the DL. ... The Mariners expect C Kenji Johjima (hamstring) to be activated from the 15-day DL on Friday. His backup, Rob Johnson, threw out two White Sox attempting to steal bases in Wednesday's second inning. ... CF Brian Anderson sustained what the White Sox called a mild oblique strain on the right side while batting in the seventh. He was to be re-evaluated Thursday.