Moran and Diaz both went deep off Luis Castillo (4-8) to give Pittsburgh the lead. Harrison hit his fourth of the season off reliever Austin Brice in the sixth.
Harrison finished 2 for 4 and is hitting .368 this season against the Reds. Rookie Austin Meadows also went 2 for 4 to boost his average to .333.
Ivan Nova (4-5) worked through heavy traffic in six innings to pick up his second victory in as many starts since returning from the 10-day disabled list with a sprained right ring finger. Nova allowed only Eugenio Suarez’s 13th home run of the season in the second, striking out three while giving up three walks.
The Pirates have won three straight to move back to .500 (35-35) and assured themselves of their first series win since sweeping a two-game set with the Chicago White Sox a month ago.
Castillo struggled keeping the ball on the right side of the fence at PNC Park, a problem that’s plagued the 25-year-old all season. He’s now allowed at least one home run in 15 of his 18 starts.
Rookie Brandon Dixon hit his first major league home run off Pittsburgh reliever Michael Feliz in the ninth and Jesse Winker had two of Cincinnati’s seven hits to snap out of an 0-for-13 funk, but the Reds had issues taking advantage against Nova.
Cincinnati went 0 for 7 with runners in scoring position and is now 0 for 19 with runners in scoring position in the series.
Moran broke a tie with his fourth home run of the season and first since June 2 when he sent Castillo’s pitch into the bullpen beyond the centerfield fence leading off the second. Diaz made it 3-1 when his fifth home run led off the third.
The Reds had their opportunities against Nova. They loaded the bases in the fourth only to have Billy Hamilton ground out to first to end the threat. Scott Schebler led off the fifth with a double but couldn’t get home and Hamilton came to the plate in the sixth with two runners on only to fly out to left field.
Hamilton finished 0 for 4 as his averaged dipped to .187.
Pirates: Reliever Richard Rodriguez (right shoulder inflammation) threw 20 pitches in a simulated game and is nearing a return from the 10-day disabled list. Rodriguez, who is eligible to come off the DL on Monday, said “things feel really good right now.”
Reds: Anthony DeSclafani (1-1, 5.40 ERA) starts the series finale on Sunday. The 28-year-old picked up his first victory since 2016 in his previous start against St. Louis.
Pirates: Joe Musgrove (2-1, 2.16) makes his first career start against the Reds. Musgrove gave up two earned runs in five innings of a no decision on Monday against Arizona.