"He's not a very good hitter, either," Reds manager Dusty Baker said of Snell. "You hate to lose a game like that."
Harang (4-15) gave up three earned runs and five hits, including two home runs, over six innings with two walks and four strikeouts.
Chris Dickerson's leadoff home run in the bottom of the first inning off Snell gave the Reds a 1-0 lead. It was Dickerson's fifth homer of the season and second leading off in the first.
Pittsburgh smoked back-to-back two-out homers in the top of the second against Harang. On a 2-2 pitch, Brandon Moss went deep to right field for a solo homer. Andy LaRoche followed suit when he took Harang deep to left field on a 1-1 pitch.
With 31 homers allowed this season, Harang took over the NL lead.
"I threw a hanging breaking ball to LaRoche. A couple of pitches to Moss didn't go the way I hoped," Harang said. "I tried to trip him up with fastballs in, and the third one just caught too much of the plate. He hit it well. It was right in a left-handed hitter's happy zone."
Corey Patterson's RBI single scored Jay Bruce in the bottom of the second to make it a 2-2 game, but Harang put his team behind again a half-inning later. Following the costly leadoff walk to Snell in the third, Nyjer Morgan hit a double that put runners on second and third. Snell easily scored on McLouth's one-out grounder to the shortstop.
It seemed like a minor issue at the time, especially since Harang recovered well and retired his final eight batters of the game. But the free pass loomed large since the Reds had no more offense to respond against Snell.
"That's something no pitcher wants to do -- walk the opposing pitcher," Harang said. "I was trying to do too much and make too good a pitch, instead of just throwing it for a strike."
Snell (6-10) kept the Reds in check while pitching six innings for the win. Cincinnati went 1-for-6 with runners in scoring position and saw 10 of its last 11 batters retired.
The Reds tried running for some runs, but they still missed out. With one out in the sixth, Bruce hit a single and went from first to third on a hit-and-run single by Ryan Hanigan. The rally died when Patterson struck out and Wilkin Castillo, making his big league debut, flew out as a pinch-hitter for Harang.
"In that situation, you have to play the odds and go with a pinch-hitter," Harang said. "They don't pay me to hit, obviously. We took a chance, and it didn't work out in our favor."
In the seventh, Dickerson was picked off first base following a leadoff walk. The Reds never had another base runner.
Although he is 1-4 with a 7.52 ERA in five starts since returning from a forearm injury that put him on the disabled list, Harang has a 2.84 ERA over his last three quality starts.
"He threw the ball well," Baker said. "His velocity still isn't where you'd like it to be. He gave up those back-to-back homers. This year, he's given up quite a few of them. But when they're solos like that, they don't usually hurt."
The highlight of the night was a spectacular leaping catch at the center-field wall by Patterson that robbed Adam LaRoche of a home run. He was Harang's final batter.
"I thought that ball was gone," Baker said. "I thought we were going to win that game once that play started, but we didn't muster much offense after that."