MILWAUKEE -- After a two-run single in the fourth inning, J.J. Hardy was only a triple shy of hitting for the cycle. And if Hardy didn't know that already, Pittsburgh first baseman Adam LaRoche was there to remind him.
"I told him the chances were pretty slim," Hardy said.
"Not fast enough," Hardy said.
Hardy could have a few laughs at his own expense after snapping out of an early season slump on Thursday, going 3-for-5 with a two-run homer and four RBIs to help the Milwaukee Brewers beat the Pirates 7-5.
A highly regarded young shortstop who missed most of last season with an injury to his right ankle, Hardy provided the bulk of the offense as the Brewers completed a two-game sweep.
Despite the numbers -- Hardy had only two hits in his previous 22 at-bats coming in -- Brewers manager Ned Yost didn't really consider Hardy to be in a slump.
"J.J.'s hit the ball so hard, right on the nose, right at people," Yost said.
Hardy entered batting .232 and broke an 0-for-11 streak with a two-run homer in the first inning.
"I got a little bit frustrated, but I felt good at the plate and I wasn't going to change anything," Hardy said. "Just hoping some hits would fall."
Milwaukee went on to score four runs off Zach Duke in the first. Corey Hart's RBI double scored Bill Hall and Damian Miller's sacrifice fly drove in Kevin Mench.
Milwaukee took a 7-1 lead in the fourth. After a leadoff single by Tony Graffanino, Brewers pitcher Jeff Suppan faked a bunt, then slapped his first hit of the season over the outstretched glove of shortstop Jack Wilson. Rickie Weeks hit an RBI double and Hardy followed with a two-run single.
Duke (1-2) gave up seven runs and 11 hits in four innings to spoil his 24th birthday.
"They hit some tough pitches today," Duke said. "I couldn't believe they hit them as hard as they did."
Pirates manager Jim Tracy said Duke left too many pitches up and over the plate.
"When he does that, he's going to get hit," Tracy said.
The Pirates made a late comeback after Xavier Nady hit a two-run homer off Suppan in the sixth, then singled in a run off Derrick Turnbow in the eighth. Turnbow gave up two runs in the inning, the first time he had been scored upon in eight appearances this season.
Yost didn't seem particularly concerned about Turnbow, who made the All-Star team last season but struggled in the second half and is the Brewers' eighth-inning setup man this year.
"He had some runs to play with, so it was a good outing for him," Yost said.
Milwaukee closer Francisco Cordero struck out the side in the ninth and is perfect in five save chances this season.
"Every time out, it seems like I feel better and better," Cordero said.
Suppan (2-2), who signed a $42 million, four-year contract to leave St. Louis in the offseason, held the Pirates to three runs and six hits in six innings.
"Today was really about the offense," Suppan said. "They came out and set the tone."
It certainly wasn't about the defense, at least not early on.
Chris Duffy led off the first with a sharp grounder that bounced off Weeks' glove at second, allowing him to reach on the infield single. First baseman Prince Fielder then fielded a bunt by Wilson, but Weeks -- who also misplayed a ball in the second inning -- didn't cover first base and Wilson reached on a single.
Freddy Sanchez grounded into a forceout at third, but Graffanino's throw sailed past Fielder at first for an error. Suppan loaded the bases by hitting LaRoche, but Hardy got the Brewers out of the inning by catching Jason Bay's liner and flipping the ball to second for a double play.
"We had opportunities, we didn't capitalize," Nady said. "They capitalized on theirs."
Yost was happy his team mustered enough offense to cover defensive mistakes.
"You find ways to cover it, and that's what we're doing right now," Yost said.
Brewers reliever Carlos Villanueva hit Don Kelly in the foot with a pitch in the seventh. Kelly stayed in the game. ... Disgruntled Milwaukee pitcher Jose Capellan was expected to return to Triple-A Nashville on Thursday night after an unexcused absence. "When things start getting rough and tough, you can't just quit," Brewers manager Ned Yost said. ... Thursday's announced attendance was 17,386 - just 296 more fans than the Cleveland Indians and Los Angeles Angels drew for the day game that was moved to Milwaukee a week ago. ... Milwaukee manager Ned Yost got his 300th major league victory.