Castillo gave Cincinnati fans one last moment after Jesús Sánchez’s RBI double for Miami left runners on second and third with none out in the seventh.
He responded with three straight strikeouts — all swinging. He walked off the mound to a standing ovation, took off his cap, and gestured to the crowd.
“Everything turned out as well as it could have,” Castillo said through a translator. “That last inning was marvelous, two runners on and I was able to punch out the last three. Really it is up to the people upstairs now what happens.”
Nick Fortes also homered for Miami, which has dropped seven of 10. Braxton Garrett (2-4) struck out eight in five innings, but was charged with five runs and seven hits.
Cincinnati grabbed control with four runs in the first. Kyle Farmer hit a two-run double and scored on Donovan Solano’s double. Matt Reynolds tacked on an RBI single.
Fortes led off the third with his fourth homer, and Bleday opened the fourth with a drive to right in his fifth big league game.
The 29-year-old Castillo signed a one-year, $7.35 million contract in March, avoiding arbitration. He missed all of spring training due to a right shoulder strain and didn’t make his season debut until May 9. But he is rolling now, improving to 2-0 with a 1.58 ERA in his last five starts.
After Castillo departed, Alexis Díaz got three outs before Hunter Strickland earned his sixth save.
“I don’t know what is going to happen next,” Castillo said. “I have been here for five years. The Reds are the team that gave me the opportunity to pitch in the big leagues. I would like to be in a Reds uniform the rest of my life, but baseball is a business.”
Hard-throwing rookie Graham Ashcraft (4-2, 4.70 ERA) makes his 12th start for Cincinnati in the finale of the four-game series. Ashcraft has 40 strikeouts in 59 1/3 innings. The Marlins have not announced their starter for Thursday.