MILWAUKEE -- Brewers righty Braden Looper thought he pitched well enough Saturday night to win. The way Dan Haren threw the ball for the D-backs, it wasn't good enough.

Haren allowed only one run and struck out 11 in eight outstanding innings, sending Looper to his first loss and the Brewers to their second straight, 4-1, in front of 42,422 fans at sold-out Miller Park.

Looper (2-1) retired the first 12 hitters he faced with only four balls hit out of the infield, but his perfect game went bad in a decisive fifth inning that began with three straight hits. The D-backs scored three times in the frame, including catcher Chris Snyder's two-run double, providing plenty of support for Haren (3-3).

"It's a frustrating game in the sense that I felt like I threw the ball real well," Looper said. "That one inning, I didn't get away with anything. ... When you're facing a guy like Dan Haren, you can't give him three runs there."

Haren scattered four Brewers hits, including Prince Fielder's RBI single in the sixth inning that accounted for Milwaukee's only run on a night that All-Stars Ryan Braun and J.J. Hardy were out of the lineup. Braun, the left fielder, was held out because of tightness in his upper back, and shortstop Hardy was given a second straight day off because he's stuck in a slump. Saturday's starters in those spots, Craig Counsell and Chris Duffy, combined to go 0-for-8 with five strikeouts.

After winning eight of nine games including Thursday's series opener against the D-backs, the Brewers have lost two games in a row.

Haren, meanwhile, has won three consecutive starts and hasn't allowed more than two runs in any of his six starts this season. Over his past three outings, he has allowed three runs in 24 innings with 30 strikeouts.

Macha managed Haren in 2005 and 2006 in Oakland.

"He threw a lot more fastballs for me when he pitched and he didn't have the cut fastball," Macha said. "That's pitching. Pitching is controlling the bat speed. The things I've been talking about, changeups and offspeed pitches, that's what he did tonight. He controlled our bat speed."

Looper suffered his first Brewers loss despite working a season-best seven innings. He was charged with four runs on six hits with three strikeouts.

Through four innings, Looper and Haren were locked in a pitchers' duel. Looper recorded 12 straight outs to start the game, eight of them coming on strikeouts, groundouts or line drives to an infielder. But Mark Reynolds' double leading off the fifth inning sparked a rally. Justin Upton followed with a perfectly placed bunt hit to first base before Conor Jackson's solid single to center field drove in the game's first run. After a groundout, Snyder made it 3-0 with a two-run double to left field.

Upton added a 450-foot solo home run off Looper leading off the seventh.

"It's one of those games where you come out of there kind of shaking your head," Looper said. "Giving up four runs -- I felt like I threw the ball better than that. That's baseball. I felt like I made my pitches for the most part today and if I can do that, generally I'm going to be successful."

A couple of mistakes hurt the Looper and the Brewers, most notably a missed double-play opportunity immediately after Jackson made it 1-0 with his single. Eric Byrnes hit what looked like a double-play grounder to third baseman Bill Hall but Hall bobbled the baseball before throwing to second base for the first out of the inning. Second baseman Rickie Weeks rushed the relay and bounced his throw to Fielder at first base. Byrnes was easily safe.

"When you're going up against their top pitcher, and he's pitched very well all year, you can't afford to give up too many," Macha said.

Another mistake hurt them in the bottom of the ninth. With Mike Cameron, one of the game's best baserunners, at second base on a double and two outs, Hall hit a slow roller that hugged the third-base line. Reynolds picked it up and almost looked surprised to see Cameron trotting his way for an easy, game-ending tagout.

Cameron said he thought the ball was heading foul. Had he held at second base, Hall would have reached on an infield hit and the Brewers would have sent a hitter to the plate representing the tying run.

Instead, the game was over.

"That one's a tough one to explain," Macha said.

Cameron tried.

"From my view, it looked like it was [going foul]," he said. "I guess it came back to him. I'm just playing the game. That wasn't the story of the game."

He was right about that. Haren was the story on Saturday.