Five Pittsburgh relievers combined for 10 scoreless innings. Starter Jeanmar Gomezwas removed with tightness in his right forearm after giving up four runs in the first.
Reds shortstop Zack Cozart made a throwing error on Russell Martin's one-out grounder in the 11th. After Pedro Alvarez walked, Jordy Mercer flied out before Snider then dropped a single into right-center off Alfredo Simon(4-2).
Garrett Jonestied the game for Pittsburgh with a long two-run homer with two outs in the eighth.
Jones' drive off Jonathan Broxton cleared the right-field stands, reached the Allegheny River on the fly and was estimated at 463 feet. It was just the second homer to make it into the river without bouncing and the first by a Pirates' hitter. Daryle Wardhit the first on July 6, 2002, while playing for Houston.
Alvarez also homered for Pittsburgh and Andrew McCutchenhad two hits, including a single just before Jones' shot.
Justin Wilson(5-0) pitched two innings for the win.
Cincinnati starter Mat Latos, who was looking to improve to 6-0, was the victim of a blown save for the fourth time this season. He got a no-decision after allowing two runs and three hits in six innings with seven strikeouts.
Cozart and Todd Fraziereach had two hits for Cincinnati.
Cozart drove in the game's first run with a triple after leadoff hitter Shin-Soo Choo was hit by a pitch. Jay Bruce and Xavier Paul then hit RBI singles and Devin Mesoracocapped the four-run first inning with a sacrifice fly.
Latos hit Neil Walker with two outs in the bottom of the first inning and both teams were issued a warning by plate umpire Bob Davidson. Cincinnati second baseman Brandon Phillips, who entered the day with an NL-leading 45 RBIs, was hit twice in the series and got a bruised left forearm Saturday that caused him to miss Sunday's game.
Alvarez hit his 11th home run in the second inning and McCutchen singled in a run in the sixth to draw the Pirates within 4-2.