Tony Campana sparked the winning rally with a one-out single off Fernando Salas (0-1). Campana then stole second in a close call that led to the first ejection for Cardinals manager Mike Matheny.
After Starlin Castro struck out, Bryan LaHair was walked intentionally before Soriano hit a full-count pitch off second baseman Tyler Greene and into the outfield. Campana scored easily to give the Cubs their second consecutive dramatic victory against the Cardinals
James Russell (1-0) pitched a scoreless inning to get the win.
Chicago led 1-0 before Matt Holliday hit a two-run homer off Carlos Marmol with two out in the eighth inning. LaHair then tied it with a leadoff drive off Marc Rzepczynski in the ninth.
The Cubs also beat the Cardinals 3-2 on Monday night on Joe Mather's game-ending, two-run single. They will go for the three-game sweep Wednesday afternoon.
St. Louis won its last seven series in the regular season last year, then stormed through the playoffs to the World Series title. It opened this season with six more series wins before running into the slumping Cubs, who had dropped seven of eight before the Cards came to town.
It was St. Louis' first series loss since it dropped two of three against Cincinnati from Sept. 2-4. According to the Elias Sports Bureau, the 2002 Braves were the last team to put together a 13-series streak.
The Cardinals had just four hits before Holliday drove a 2-2 pitch over the wall in center for his fourth homer. Rafael Furcal set up the go-ahead drive with a one-out walk against Rafael Dolis, who retired Skip Schumaker before first-year manager Dale Sveum went to his closer with Holliday coming to the plate.
Carlos Beltran then walked and move to third on Marmol's errant pickoff attempt before David Freese flied out to end the inning. The erratic closer was jeered by the Wrigley Field crowd of 38,894 as he made his way to the dugout.
Chicago nearly wasted a terrific outing by Jeff Samardzija, who struck out nine in 6 2-3 innings. The right-hander yielded just four hits and two walks in his second start against Adam Wainwright and the Cardinals in 11 days.
Samardzija pitched five shaky innings at St. Louis on April 13, but the Cubs roughed up Wainwright in a 9-5 victory.
This one was much different.
Wainwright allowed one run and six hits over six innings in his best start since he had elbow-ligament replacement surgery last February, sidelining him for the 2011 season. The 6-foot-7 right-hander struck out seven and walked one, but remained winless in four starts this year.
Chicago grabbed the lead in the first. David DeJesus drove a leadoff double into the right-field corner and advanced on Tony Campana's sacrifice. Starlin Castro then lofted a fly ball to right, leading to a disputed call at home.
Beltran settled under Castro's ball and made a strong throw to the first-base side, forcing Gold Glove catcher Yadier Molina to dive across the plate with his glove. Molina was right there as DeJesus stuck his left arm out while sliding past home on the dugout side, drawing a safe call from umpire Chris Conroy.
DeJesus clapped his hands and scurried back to the dugout as Molina popped up and began arguing with Conroy. Matheny popped out of the dugout and got between Molina and Conroy before continuing the argument with the umpire. Looking at the TV replays, it was unclear whether DeJesus ever touched home, but Matheny eventually left the field after a short argument.
It was a busy night for Molina, who had two hits, made a rare throwing error and picked DeJesus off second after a leadoff double in the fifth.
The Cubs had a chance to add to their lead in the fourth, putting runners on second and third with no outs. But Wainwright wiggled out of the jam, showing the moxie that made him one of baseball's best pitchers before the elbow injury.
Ian Stewart and Darwin Barney struck out swinging, the latter on three pitches, before Wainwright issued an intentional walk to Geovany Soto. Samardzija then popped out to end the inning.
NOTES: 3B Freese was back in the lineup after he was hit on the right hand in the fourth inning of Monday's loss. He stayed in the game but there was some concern since he missed two days this month with an irritated finger on the same hand. "He treated it last night and felt pretty confident he'd be good to go today," Matheny said. ... The Cubs outrighted RHP Rodrigo Lopez to Triple-A Iowa. Lopez was designated for assignment when RHP Michael Bowden was added to the 25-man roster on Monday. ... Bowden made his Cubs debut in the ninth and pitched a scoreless inning. ... Beltran turned 35 on Tuesday.