Paul Maholm (7-6) allowed a lone run on six hits over seven innings, boosting the Cubs to their third victory in four games.
Soriano had four hits and scored three times. He hit a solo homer in the fourth and delivered a three-run blast in the fifth, advancing his home run total for the season to 17.
He also had an RBI with a seventh-inning double and scored Chicago's first run in the second inning on a wild pitch.
Ian Kennedy (6-8) allowed six runs on seven hits in five-plus innings to take the loss.
Arizona won its final three games prior to the All-Star break.
Wisconsin business offering 'therapeutic cuddling' forced to close
Costly malfunction causes beer flood at Boston-area brewery