Texas won for the 10th time in 12 outings and remained three games behind the Los Angeles Angels in the American League West.
Seattle took a 2-1 lead into the fifth, but Taylor Teagarden hit his second homer of the year to tie it.
Omar Vizquel and Michael Young then came through with two-out singles, and Byrd hit the first pitch he saw from Jason Vargas (3-5) for his 11th homer of the season.
Texas had a 5-3 advantage when the game was delayed in the seventh inning by heavy rain and high wind. Jose Lopez brought the Mariners within one after the rain delay with an RBI single in the eighth, but C.J. Wilson worked a perfect ninth to pick up his 12th save.
That gave the victory to starter Vicente Padilla (8-5), who had not pitched since the first game after the All-Star game because of a bout with the swine flu.
Padilla gave up three runs on six hits in six innings.