SEATTLE -- For the past couple seasons, Jeff Weaver has had a troublesome pattern of not starting well. But he sure knows how to finish.
The win moved Seattle within two of the AL West-leading Los Angeles Angels, and the Mariners remained a half game ahead of the New York Yankees in the wild-card race.
"They're a potent lineup," said Weaver, who has a 21-13 career record in August. "They can (hit home runs) at will. They got to me a couple times but solo shots usually keep you in the ball game."
Kenji Johjima hit a tiebreaking RBI single in Seattle's four-run sixth as the Mariners handed the White Sox their season-high seventh straight loss.
Weaver started the season 0-6 before landing on the disabled list with a tired shoulder, but has won his past three starts. Last season he was 3-10 for the Angels before his July 17 trade to St. Louis. He went on to help the Cardinals win the National League pennant and won Game 5 of the World Series against Detroit.
It was the second time in five days that Weaver beat the White Sox, who dropped into last place in the AL Central. Weaver threw a five-hit shutout in his previous start last Sunday against the Sox.
"In typical Mariners style, about the sixth inning they make things happen," said Weaver, who entered the game with the second-lowest run support average in the league at 3.84 runs per start. "They gave me a little cushion to go out there and continue to be aggressive."
J.J. Putz worked the ninth for his 36th save, matching his career high.
Raul Ibanez's run-scoring single in the fourth cut it to 3-1 and Seattle pushed across two more runs in the fifth to tie it. Jose Guillen came up with runners on second and third and two outs and hit a two-hopper toward third baseman Josh Fields. On the second hop, Fields had to duck to avoid being hit as the ball spun into left field. Jose Lopez and Yuniesky Betancourt score to make it 3-all.
"I hit it hard. I just got on top of that ball. It worked out real well," Guillen said. "That's baseball. It's a crazy game."
Johjima's run-scoring single in the sixth put Seattle in front. Richie Sexson scored on an error by center fielder Jerry Owens, Jose Vidro singled in a run and Ichiro Suzuki scored on Ehren Wassermann's wild pitch.
"There's a reason to it -- the way we're playing we should be in last place," White Sox manager Ozzie Guillen said. "We haven't earned anything better than being in last place. Besides just not playing well, we're helping the other team play better against us."
John Danks (6-11) gave up four runs and nine hits in five-plus innings for the White Sox.
"I feel like I threw better than five-plus, four runs, but baseball is a funny game," Danks said. "It took some bad hops and obviously I gave up a few hits but all in all, I pitched my way out of it. I just got unlucky there for a bit."
Thome hit a two-run drive off George Sherrill in the eighth to cut it to 7-5. It was his 20th of the season and No. 492 for his career. He had his five hits in 37 at-bats (.135) since he hit his 490th home run on Aug. 4.
"We've been hard in the cage lately," said Thome, who had his 39th career multihomer game and first since April 18 against Texas. "My last at-bat (Friday) I kind of found something and it carried into today. When you struggle you want to get out of it as quick as you can and it's lasted a while."
Thome might have had a third home run in the sixth but Ibanez made an outstanding running catch against the left-field wall to bring it back.
- Every starter in the Mariners' lineup had at least one hit except Suzuki, who ended his 10-game hitting streak.
- The Mariners are now 24-8 against left-hander starters, best in the majors.
- The Sox's seven-game losing streak in the longest since the club lost seven from Aug. 12-20, 2005.