Jay Bruce and Todd Frazier provided the power.
Michael Lorenzen provided the pitching.
Brandon Phillips and Billy Hamilton provided the defense as the Reds put a total game together to provide manager Bryan Price with a 5-2 win.
"Baseball is broken down by pitching, fielding and hitting," Lorenzen said. "We've had games when we beat the other team in one out of three, or two out of three. Today we played better in all three."
Lorenzen started out rough. Dee Gordon and Derek Dietrich singled to open the game. Gordon stole second but Dietrich's single was hit hard and right at Hamilton. Gordon could only move up one base. With one out, Giancarlo Stanton drove in his National League leading, 64th run on a ground out to Phillips.
Lorenzen flew his father Clif in for the game. It was just the second time his father has seen him play in person since he was nine years old.
"There was a lot of fighting in our family when I was younger," Lorenzen said. "He left when I was nine. He follows me on TV. We talk on the phone. He still doesn't have a lot so I flew him in for Father's day."
Joey Votto walked and Todd Frazier's 23rd home run off David Phelps put the Reds up 2-1 in the bottom of the first.
"Fraziet has been fun to watch in June. It hasn't just been home runs. It's been a hard single or a walk to set up an inning. He is really become comfortable as a middle of the lineup producer," Bryan Price said.
Justin Bour hit a long home run off Lorenzen to tie the game It was Bour's 6th long ball of the season.
The Reds loaded the bases in the second with hopes of breaking the game open. Marlon Byrd and Eugenio Suarez singled to open the inning. Lorenzen bunted them up a base. Phelps hit Hamilton with a pitch to load the bases. Phillips lined a one hopper to Adeiny Hechavarria at short, who gloved it and turned it into a double play.
Lorenzen loaded the bases with Marlins in the fourth but struck out the side to get out of the jam.
Hamilton saved a run in the fifth. Gordon hit the second of his three singles, leading off. Dietrich doubled over Hamilton's head. Hamilton played it off the base of the fence, then hit Suarez, who threw home to Pena in plenty of time to tag Gordon out at the plate. The Marlins wasted their challenge as the call was upheld.
Bruce followed Votto's single with his 11th home run to put the Reds up 4-2 in the sixth. With two outs and the bases empty, the Reds got to Phelps again. Consecutive singles by Byrd, Suarez and Lorenzen gave the Reds the three run lead.
Bruce has struggled as much as anyone.
"I started out slowly," Bruce said. "We've all had obstacles we've had to overcome. We're playing better baseball now. It was good to have that separation. Michael settled in after the first two innings."
Lorenzen left the game in the capable hands of J.J. Hoover after pitching seven innings. Lorenzen allowed two runs on eight hits. His lone walk was intentional and her struck out five.
Lorenzen was battling strep throat but at no time did he consider sitting the game out.
"I had body aches. My throat was closed down. The training staff made sure I got enough fluids," Lorenzen said. "I don't think Nolan Ryan would miss a start because he was sick. You're going to have to really, really fight me to get me from playing."
"Never for a minute did Michael give us any indication that he wasn't going to do what he needed to do," Price said.
Hoover pitched a 1-2-3 eighth inning. He has not allowed a run in his last 12 appearances, covering 12 2/3 innings. Hoover has not allowed an earned run since, April 21.
Aroldis Chapman entered to pick up his 15th save in 16 tries.
The first three Marlins reached on an error, bloop single and a walk but Chapman struck out Donovan Solano, Gordon and Dietrich to end the game.