The Reds moved into a tie with Pittsburgh for second place in the National League Central, both of them battling St. Louis for the division title. Cincinnati and Pittsburgh hold down the two wild card berths, owning a five-game lead over Washington.
Pittsburgh had a 5-2 lead advantage into the ninth and Mark Melancon was one out away from nailing down the save when Todd Frazier hit a grounder to shortstop Jordy Mercer.
But Mercer threw the ball away, allowing Frazier to reach base. Ryan Ludwick, who had been on first, came all the way around to score.
Zack Cosart then singled Ludwick to third and gave way to pinch-runner Billy Hamilton, who promptly stole second base. A single by Devin Mesoraco drove in both runners and tied the game.
Votto then stunned the Pirates with a one-out homer in the 10th off Kyle Farnsworth (3-1).
J.J. Hoover (5-5) worked the ninth for Cincinnati and got the win. Aroldis Chapman was perfect in the 10th on the way to his 38th save.