The 36-year-old helped the Marlins win the World Series in 2003 and played one more season in Miami before moving on. Called up earlier Saturday, Penny (1-0) put the Marlins in position for their second straight win over Cincinnati, which is 8-14 since the All-Star break.
Penny gave up Jay Bruce's solo homer and an unearned run in five innings, fanning three while throwing 95 pitches.
Christian Yelich had two hits, scored a run, and drove in two with a groundout and a sacrifice fly off reliever Sam LeCure (1-4). Giancarlo Stanton also had a sacrifice fly, and Donovan Solano doubled home the final run.
Starter Alfredo Simon has epitomized the Reds' struggles after the All-Star break. Since his first All-Star selection, he is 0-4 with a no-decision, going five innings or less four times. On Saturday, he allowed two runs and matched his season high with five walks in five innings.
It was a big night for Penny and manager Mike Redmond, his former catcher with the Marlins. Penny went 48-42 with the Marlins from 2000-04. His last start for them was July 28, 2004.
He moved on to play for the Dodgers, Red Sox, Giants, Cardinals and Tigers. He hadn't played in the majors since 2012 when he signed a minor league deal with the Marlins in June.
And now he's back to winning in the big leagues.
Bruce's homer in the first inning ended Miami's streak of 11 straight games without allowing one, the second-longest in franchise history. The Marlins went 12 games without allowing one last season.