PITTSBURGH -- Ben Sheets kept getting better and better, and pretty soon he was approaching perfection.
"Things were going good. I ain't going to lie. It definitely crossed my mind," Sheets said.
"If it's your day, it's going to be your day, no matter what you do. I had a good day," he said.
Sheets (5-6) gave up two hits and struck out 10 in eight innings. He did not walk a batter. One pitch after Duffy singled, Sheets picked him off first base.
"We got into the seventh inning and I started thinking, 'He's got a real shot at a no-hitter here with his stuff,'" Brewers manager Ned Yost said. "The first inning, the first couple of hitters he was just OK. And then all of a sudden, it just clicked for him and he started getting stronger and stronger and stronger. He just had really good stuff today: Good breaking ball, real good fastball, really good changeup, spotting well."
There has not been a perfect game in the majors since Randy Johnson pitched one for Arizona at Atlanta on May 18, 2004.
While Sheets was trying to do it at PNC Park, Freddy Garcia of the Chicago White Sox was taking a perfect game try into the seventh inning at Anaheim against the Angels. Moments after Duffy's hit, Adam Kennedy singled with two outs in the eighth for the Angels.
"(Sheets) was outstanding today," Fielder said. "He pitched great. Both the hits he gave up weren't really bad pitches, there was just better hitting that time."
Francisco Cordero pitched the ninth for his 12th save in as many chances since being acquired by the Brewers July 28.
Dating to his last start against Pittsburgh July 25, Sheets retired 32 Pirates in a row. He sent down the final 14 batters he faced in a 6-1 Pirates' win in Sheets' first game after missing almost two months because of tendinitis in his right shoulder.
"Seeing him perform like that and pitch like he did today, that was fun to be part of," said catcher Mike Rivera, credited by Sheets with calling a good game.
"It's a sign that the old Ben is here again and that's what we need. Today he was great with all of his pitches. His fastball was up to 96 (mph) and he was kind of down with his fastball and he showed that he is getting better and stronger every day," he said.
Sheets' gem was in front of an announced crowd of 11,627 -- but far fewer than that witnessed it. The matchup between two of the National League's four worst teams on a chilly and drizzly afternoon had what appeared to be less than 1,000 fans on hand by the time his perfect game bid reached the sixth inning.
Milwaukee has never had a perfect game in its 38-season history. The Brewers' only no-hitter was by Juan Nieves April 15, 1987.
"You certainly want to try to win both ends of it, but there is nothing to be ashamed of with the effort we gave today all day long," Pirates manager Jim Tracy said. "Every once in a while, you take your cap off and tip it. I don't know if I've seen Ben Sheets any better than we saw today for eight innings.
Ryan Doumit homered in the Pirates' eighth.
Shawn Chacon (1-3) gave up five hits in seven innings.
"I got beat with two solo home runs," Chacon said. "Most days out, you pitch seven innings and give up two solo homers, you're not going to lose, so I'm happy with the way I pitched. It's tough that we lost, but Sheets was dominant today. Real dominant."
- The Pirates won the season series with the Brewers, 9-7.
- Sheets is 6-7 with a 2.75 ERA against Pittsburgh in 18 career starts.
- Sheets struck out at least 10 for the 13th time in his career.