PHOENIX -- Nate Schierholtz's career year just keeps getting better.
Schierholtz had three hits, including his 13th home run, and drove in a career-high five runs, and his double with two outs in the 12th inning gave the Chicago Cubs a 7-6 victory over the Arizona Diamondbacks on Wednesday.
"I'm feeling a lot better now," said Schierholtz, bothered by bumps and bruises the last few weeks before the break. "The All-Star break definitely helped, and so did the cortisone shot. I'm just trying to help the team win some games. I try to take the same approach with runners on. It's just worked out I've been able to get more hits than normal."
Schierholtz set a career high in RBIs with 42, one more than his previous best, set with the San Francisco Giants in 2011. He already set a career high in homer, blowing past his total of nine in 2011.
Anthony Rizzo walked with two outs in the 12th inning off David Hernandez (4-6) before Schierholtz hit an opposite-field double to left field for the game-winner.
"I have to start making better pitches," Hernandez said.
Hector Rondon (2-0) pitched the final two innings for the victory.
Cubs rookie Junior Lake extended his torrid start with two doubles and an RBI. He has 14 hits in his first six games since being promoted from Triple-A Iowa on Friday, a franchise record. St. Louis' Bo Hart had 15 hits in his first six games in 2003.
Schierholtz's three-run homer capped a four-run fifth inning that gave the Cubs a 6-0 lead.
"Nate is back to where he was before he kinda got beat up a little bit," Cubs manager Dale Sveum said. "Our guys kept battling, and Nate had a huge game."
Paul Goldschmidt's three-run home run off Blake Parker with two outs in the sixth inning cut the Cubs' lead to 6-5, and the D-backs tied it in the ninth when Goldschmidt drew a walk from Kevin Gregg, took third on Eric Chavez's single and scored on Cody Ross' sacrifice fly. It was the Cubs' major-league-high 20th blown save of the season.
Goldschmidt's homer was his 22nd, and he leads the NL with 83 RBIs.
The D-backs (52-49) left a season-high 16 runners on base while losing for the fourth time in six games.
"It stings," Arizona manager Kirk Gibson said. "We left a zillion guys on, and we were not really swinging at good pitches in those situations. We swung at a lot of balls out of the zone."
Cubs starter Jeff Samardzija gave up four runs (three earned) in 5 2/3 innings and was in line for the victory before the bullpen blew the lead.
The D-backs loaded the bases off Samardzija in the first, fourth and fifth innings but scored only in the fifth. Second baseman Darwin Barney's error with one out permitted two runs to score, slicing Chicago's lead to 6-2.
Arizona's Ian Kennedy failed for the ninth consecutive time to record his 50th career victory. He has not won since beating the Cubs on June 1, going 0-4 with a 5.86 ERA in that span. He gave up six runs (two earned) in five innings Wednesday after a scoring change turned an infield single into an error.
Center fielder David DeJesus returned to the Cubs (45-54) and had two hits and two runs. It was his first game after missing five weeks with a right shoulder sprain.
Martin Prado had two hits and an RBI, and Wil Nieves had three hits for Arizona.
NOTES: Cubs LF Alfonso Soriano told general manager Theo Epstein he would accept a trade to the New York Yankees, and Epstein told reporters that Soriano "asked for two or three days to think things over" after being presented with several options in a meeting that included Sveum following Tuesday's game. "I want one more chance to go to the World Series," Soriano said before being given a day off Wednesday. "If (the Cubs) don't have that on their mind and they're preparing the team for 2015 or 2016, it's too late for me. At the same time, I'm trying to be a champion here." A "10-5" player, Soriano has the right to veto any trade. ... The Cubs optioned OF Dave Sappelt to Triple-A Iowa to make room on the roster for DeJesus. ... Arizona C Miguel Montero was unavailable after undergoing an MRI on his back Wednesday. He feeling soreness while taking a swing in the batting cage Tuesday, manager Kirk Gibson said. Montero has caught the most innings in the major leagues this season, 778 1/3. St. Louis' Yadier Molina is second with 761. The D-backs used LHP Patrick Corbin as a pinch hitter in the 11th inning because Montero could not play.