Soriano led off the 14th inning with a home run and the Cubs beat the Cincinnati Reds 6-3 on Sunday to win their weekend series.
Soriano hit Mike Lincoln's first pitch into the seats in right-center for his 14th homer. He was 0-for-5 before the clutch drive and 10-for-64 (.156) in his previous 15 games.
"I had a tough three weeks, but I haven't lost confidence," Soriano said. "I am just trying to stay healthy and play hard. I made a good swing and hit the ball hard."
Mike Fontenot added an RBI single off Lincoln (1-1) and Reed Johnson doubled in a run for the Cubs, who led 3-1 after six innings and had to go to extras for the fourth time in their last five games, including a 4-3 loss in 11 innings on Saturday.
Rookie David Patton (2-1) pitched the 13th to get the win and Angel Guzman finished for his first career save. Patton got Brandon Phillips to line out to right with runners on first and second to end a Cincinnati threat.
The Reds were 0-for-13 with runners in scoring position, leaving manager Dusty Baker frustrated about the missed opportunities.
"It should never have gotten that far," Baker said. "We had chances. We couldn't get the big hit. You knew something was going to happen if you let them stick around too long. We should've won that three or four times. If you don't win them when you're supposed to, most of the time, you don't."
The Cubs weren't much better, going 4-for-21 with runners in scoring position.
"Both teams squandered a bevy of opportunities," Chicago manager Lou Piniella said. "We hung in there and made some plays and made some pitches."
Randy Wells was in line for his first career victory before the Reds rallied to tie it. The rookie right-hander allowed two runs and seven hits in 6 2/3 innings.
Wells has had some tough luck over the first 10 games of his major league career. He is 0-2 with a 1.86 ERA in six starts since being recalled from Triple-A Iowa on May 8. He has a 1.64 career ERA but is still looking for his first win.
Bronson Arroyo went seven innings for the Reds, yielding three runs and five hits. He also committed a costly throwing error that led to two unearned runs in the third.
With no outs and runners on first and second, Arroyo fielded Soriano's comebacker and threw wildly to second to leave the bases loaded. The right-hander retired the next two batters before Derrek Lee hit a two-run single to center field to give the Cubs a 3-1 lead and end their 0-for-21 skid with runners in scoring position.
"It wasn't miscommunication," Arroyo said of the error. "Brandon [second baseman Brandon Phillips] didn't see me catch the ball. He was still looking for it on the ground. That split-second when I saw him looking for the ball threw off the timing."
Ryan Theriot connected in the first inning for the Cubs, hitting his first road homer and 13th of his career. It was his first since May 13 and sixth of the season, twice as many as he'd hit in any previous season.
This was Chicago's longest game of the season by innings. The previous long was Tuesday's 6-5, 12-inning loss in Atlanta. Cincinnati's longest game of the season is a 6-5 loss in 16 innings at San Diego on May 16. ... Chicago's rainout at Atlanta last week has been rescheduled for June 22 at 7:10 p.m. ... The Reds and Cubs are off Monday before opening road series, Cincinnati at Washington and Chicago at Houston. ... Hairston has committed three errors in the last two games at third base.