"We just couldn't get those final outs," Cubs manager Dale Sveum said.
With the game tied at 7-7, Darin Mastroianni walked to lead off the 10th against Shawn Camp (2-3) and moved up to second on Ben Revere's sacrifice. Jamey Carroll then chopped an infield single, allowing Mastroianni to advance to third. For the second time in the game, the Cubs used a five-man infield, bringing Joe Mather in from left.
Willingham then lined an 0-1 pitch down the left-field line for the game-winner.
"We needed six," Sveum said of his revamped infield.
Trailing 7-6 in the ninth, Willingham singled to lead off against Camp -- who was trying for his first save of the season -- and scored on Justin Morneau's triple.
"That one lies on me," Camp said. "I feel like I've been pretty consistent, but tonight I ran into a situation where I didn't make pitches when I needed to."
Camp felt he made a quality pitch to Morneau in the ninth, but the Twins slugger muscled it for a triple.
"He made a pretty good pitch," Morneau said. "I just got lucky and hit it in the right spot. I was talking to it a little bit as I was running. I saw it hit the wall and thought I better get going and make sure he's scoring in front of me so I don't run him off third. So it was a huge win for us."
After a strikeout, the Cubs utilized a five-man infield for the first time as Chris Parmalee was intentionally walked. Alexi Casilla then hit into a fielder's choice, as the Cubs cut down pinch-runner Denard Span at home. Brian Dozier flied out to right to preserve the 7-7 tie.
"When I got out of that inning, the momentum should have gone back to me, and then I walk a nine-hole hitter," Camp said of the 10th inning.
Sveum was happy with Camp and James Russell, who gave up a solo homer to Ryan Doumit in the seventh that gave the Twins a 6-5 lead.
"I went with the two best guys I've had all year," Sveum said. "Once we battled back, with Russell and Camp, you're going to ride them to whatever their pitch count is. They're the two best guys we've had. All season long, they've gotten the job done. One of them had to be on the mound as long as he could go."
Having an extra hitter in the lineup seemed to help the Cubs. Soriano, serving as the designated hitter, provided much of the offense. He hit a solo shot to straightaway center in the first and then his upper deck blast in the eighth.
Soriano watched the second homer, and justifiably so. It was estimated at 440 feet, but ask any of the 38,014 at Target Field, and it went much farther. Maybe it's the date that sparks Soriano. On June 8, 2007, he hit three home runs against the Braves.
"I like the first one because that's what I want to try to do all the time, is hit homers to center field or right-center," Soriano said. "I don't want to pull the ball. The second one, he threw me a slider in, and I put a good swing on it. But it's not enough. It would be a better day for me if we get the win."
It was Soriano's 29th career multi-homer game and first this year. After going homerless in his first 30 games, Soriano now has 11 in his last 23. He's connected in nine straight series and is the first Cubs player to do so since Sammy Sosa homered in 12 consecutive series in 2003.
So, does he like being the designated hitter now?
"Today, yeah, I had a good game, but it's not enough," Soriano said. "We have to come back tomorrow and keep pushing it and hope tomorrow we have a better day."
Starlin Castro also hit a two-run homer in the fifth to help the Cubs open a 5-2 lead.
The Twins scored three runs off Chicago starter Travis Wood in five innings, and the lefty admitted he didn't have his best stuff.
"Unfortunately, we finally score some runs and we can't hold them to less than seven runs," Sveum said.