The Reds suffered their fourth straight loss in a game that included a frightening injury suffered by home plate umpire Jerry Layne.
Minnesota overcame an early two-run deficit, then fell behind again by a run heading into the sixth.
Ryan Doumit, who also homered and doubled in the game, singled to open the sixth off Homer Bailey (5-5) and moved to second on a base hit by Jamey Carroll. Joe Mauer walked to load the bases, Denard Span also drew a walk to force in the tying run and Revere followed with his sacrifice fly.
Nick Blackburn (4-4) got the win even though he gave up four runs on five hits in five innings. Glen Perkins came on in the ninth for his second save, giving the Twins their third win in five outings.
Layne was hit in the side of the head by a broken bat, which shattered when Cincinnati's Devin Mesoraco grounded out in the fourth inning.
Layne fell to the ground and was checked by members of both teams' training staffs before getting to his feet. He appeared dazed as he walked off the field.
The game continued with a three-man umpiring crew.