With the D-Backs leading 5-4 in the home half of the eighth, Mark Reynolds walked and went to third on Justin Upton's double. After the Padres intentionally walked Stephen Drew to load the bases, Chris Snyder drove Reynolds across with a sac fly and Jeff Salazar drew a walk to load the bases again.
Padres' shortstop Khalil Greene misplayed Chris Young's grounder to let two more runs in -- and then Byrnes drove in Salazar and Young to cap the scoring for Arizona, which has won four straight.
Arizona starter Edgar Gonzalez gave up three runs on four hits -- two of them homers -- in six innings, with four walks and three strikeouts.
Juan Cruz (1-0) got the win in relief.
San Diego starter Chris Young went six innings, giving up two runs on three hits, with three walks and four strikeouts.
Joe Thatcher (0-2) blew the save and took the loss.