The Cubs avoided a three-game series sweep and ended Seattle's longest winning streak of the season at six games.
The game had been tied at 2-2 since the seventh inning when Soriano walked to open the 13th against Garrett Olson (0-2). Kosuke Fukudome sacrificed Soriano to third and, after Sean White relieved Olson, Ryan Theriot drew a walk.
That brought up Byrd, who singled to right on a 1-2 pitch.
John Grabow (1-3) worked two innings of relief to get the win and Tom Gorzelanny came on in the bottom of the 13th to earn his first career save.
Chicago starter Ted Lilly limited the Mariners to five hits and a run in six innings. Felix Hernandez went nine innings for the Mariners, giving up two runs on five hits.