The Cubs fell behind 2-1 in the eighth after the Cardinals' Matt Holliday socked a go-ahead, two-run homer off Carlos Marmol. Chicago's Bryan LaHair tied it up in the bottom of the ninth when he belted Marc Rzepczynski's first pitch into the left-field bleachers.
In the 10th, Tony Campana collected a one-out single off Fernando Salas (0-1), stole second, and, after LaHair was intentionally walked, came home when second baseman Tyler Green couldn't handle Soriano's sharp grounder.
James Russell (1-0) earned the win for the Cubs, who clinched their first series win of the year.
Cards starter Adam Wainwright allowed only one run on six hits over six innings.