Pirates 5, Nationals 4: Rod Barajas hit a two-run homer off Washington closer Henry Rodriguez with two outs in the ninth to lift Pittsburgh past visiting Washington.
The veteran catcher, mired in a season-long slump, drilled a shot down the left-field line that sailed a few rows into the seats for his first home run and RBI of the year.
The Nationals went ahead 4-3 on Adam LaRoche's two-run homer in the top of the ninth off Pittsburgh closer Joel Hanrahan.
Alex Presley singled with one out in the bottom of the ninth and moved to third on a pair of wild pitches before Barajas hit it out.
Sign Up and Save
Get six months of free digital access to the Lexington Herald-Leader
Brewers 8, Reds 3: Aramis Ramirez knocked in three runs with a triple and Ryan Braun had three hits as host Milwaukee beat Cincinnati. Yoevani Gallardo pitched six strong innings for the win.
Astros 3, Marlins 2: Pinch-hitter Brian Bogusevic hit an eighth-inning RBI double and Houston ended visiting Miami's season-long seven-game winning streak.
The game was tied at 2-2 when Travis Buck singled with two outs before Bogusevic's hit off Ryan Webb (1-1) to the corner of left field, which a leaping Logan Morrison just missed, sent Buck home. The Astros had tied the game when two errors on one play by Omar Infante allowed two runs to score in the sixth inning.
Mets 7, Phillies 4: Lucas Duda had a tiebreaking, two-out RBI single in the seventh. Duda and David Wright had two hits and two RBI each to help the visiting Mets win their fourth straight.
Yankees 5, Rays 3: David Robertson struck out Carlos Pena with the bases loaded to end a rocky ninth inning in his first save chance since Mariano Rivera's season-ending knee injury, helping host New York end a seven-game skid against Tampa Bay.
Raul Ibanez homered twice, Curtis Granderson also connected and the Yankees handed James Shields (5-1) his first loss in seven starts this season.
Ivan Nova (4-1) rebounded nicely after snapping his 15-game winning streak, pitching seven sharp innings, the last three in a steady rain.
White Sox 5, Indians 3 (10 innings): Alex Rios tripled home the go-ahead run for host Cleveland in the top of the 10th inning. Hector Santiago (1-1) pitched the ninth for his first career win and Addison Reed worked a perfect 10th for his second save.