SEATTLE -- Even at 37 years old, Alfonso Soriano can still make a difference.
"My swing is there now," said Soriano, who entered the weekend series hitting just .195 in June. "My hand is quick. I feel young. My hand is part of my swing. If my hand is quick, I have a lot of things to do to help the team."
Soriano, who had three hits including a home run in Friday's 5-4 loss, added three more hits Saturday. His home run was his ninth and the 381st of his career, tying him with Albert Belle for 63rd place on the career list.
The 15-year veteran in his seventh season with the Cubs is hoping that he can continue to contribute to the Cubs -- or perhaps a contending team as the trading deadline approaches. The Cubs are on the hook for one more year on his contract that pays $18 million a year.
"I just come to the ballpark every day and do my job," Soriano said. "I'm not putting nothing in my mind. The last couple years there was always trade rumors and nothing happens."
Cubs manager Dale Sveum, who had given Soriano a couple days off before the series to rest his legs, said, "the DH thing is working."
"A couple days off maybe helped to get to that form where he was last year at this time when he was taking off," Sveum added.
Nate Schierholtz opened the 11th with a drag bunt off Oliver Perez (2-2).
"That was all Nate," Sveum said. "I didn't know he had that in his tool box. It was a good way to get things going."
Soriano then connected on a 1-2 pitch over the center-field wall, 391 feet away.
"I was trying to go higher because I know he's a very good low-ball hitter and I just missed the pitch," Perez said.
"Everyone knows Soriano is a very good low-ball hitter and he just golfed the ball. Every time there is a winner and a loser in a game. That [loser] was me today."
It ended Perez's 14-game scoreless streak.
The Mariners had tied the game with two outs in the ninth. Pinch-hitter Henry Blanco earned a one-out walk off Kevin Gregg to start the ninth-inning rally. Michael Saunders ran for him. Nick Franklin moved Saunders to second with a right-side groundout.
Endy Chavez, on a 0-for-19 slide entering his at-bat, sliced a single into shallow center, scoring Saunders with the tying run.
"It was up a little bit," Gregg said. "He fought it off enough to get it over second base. It happens."
Gregg had been a perfect 13 for 13 in save opportunities this season. His last blown save was Sept. 10, 2011, while with Baltimore at Toronto.
Carlos Villanueva (2-4) earned the win with one inning of relief. Blake Parker finished the 11th for his first career save.
Parker was the losing pitcher Friday in Seattle's comeback 5-4 victory in 10 innings.
Cubs starter Jeff Samardzija allowed six hits and two runs over his seven innings. He struck out five and walked three.
Aaron Harang worked eight innings for the Mariners, allowing three runs on five hits. In three starts against National League teams this season, Harang is 1-2 with a 1.96 ERA. By contrast, he is 2-6 with a 6.52 ERA in start against American League teams.
Starlin Castro also had a home run for the Cubs and Justin Smoak hit one for the Mariners.
Mariners center fielder Dustin Ackley had to leave the game in the ninth after a diving attempt of Soriano's flyball. He was diagnosed with sprained left thumb and received precautionary X-rays.
Jason Bay, who had entered as a pinch runner in the eighth, moved to center as the Mariners, hampered with injuries, used up all their bench players and were forced to give up their designated hitter. Lefty Joe Saunders had the final at-bat in the 11th, flying out to center.
"Today was one of those fluke games when you're banged up coming in and someone else gets hurt," Mariners manager Eric Wedge said. "You're trying to tie the ball game and come back, sometimes these things happen."
Castro put the Cubs up in the first with his solo home run to center. It was his fourth, coming on a 0-1 pitch from Harang.
It was his first home run since April 30 against San Diego. The Cubs have hit at least one home run in a season-high nine straight games.
The Mariners responded with two in the second. Smoak connected on his sixth home run, a 383-foot shot to right on the first pitch from Samardzija.
Mike Zunino then doubled off the left-field wall. He scored on Ackley's single to left. That broke his 0-for-23 slide.
The Cubs bounded ahead again in the sixth with a pair of runs and Schierholtz and Soriano each had RBI singles.
The Mariners were foiled in the eighth. With one out, Kendrys Morales singled and Bay ran for him. Bay broke for second as reliever James Russell tossed over to first and Bay was caught stealing.
Raul Ibanez continued the inning with a two-out double to left. Smoak followed with a too-hard single to left. Left-fielder Brian Bogusevic scooped up the ball and threw to the catcher Welington Castillo, who tagged out the sliding Ibanez.
Finishing games have been a problem for the Cubs. They are 26-9 when leading after seven and 28-6 when leading after eight. Seattle, by contrast, is 30-1 when leading after seven and 30-2 when leading after eight. "It's been tough all year to get those outs, whether it's the eighth or ninth inning, especially after leading so many games after seven innings," Sveum said. "We have to make pitches and get people out in those situations." The Cubs have lost 24 games in which they've had the lead at some point, tied for most in the majors.. Ryan Sweeney left the game in the fourth inning with left rib soreness.. It was a Turn Back the Clock game. The Mariners wore the uniform of the 1909 Seattle Turks, who won a Northwest League championship. The Cubs wore early 1900s replicas.