The Miami Marlins were poised to hand Zack Greinke his first home loss since joining the Milwaukee Brewers. The bullpen just couldn't hold on.

Justin Ruggiano hit a two-run homer and finished with a career-high four RBIs, but Miami blew a three-run lead in a 6-5 loss to Milwaukee on Monday night.

Pinch-hitter Norichika Aoki drove in the go-ahead run with a safety squeeze in the eighth inning as the Brewers won for the fourth time in five games.

"It was a pretty ugly one," Miami manager Ozzie Guillen said. "We made too many mistakes today to win."

Rickie Weeks sparked the winning rally with a leadoff double against Ryan Webb (3-2). He moved up on Martin Maldonado's single to right and scored when Aoki greeted Randy Choate with a bunt single.

"I knew that — since they probably knew that a squeeze was coming — I had to get it down even better than what I usually do," Aoki said through an interpreter. "I was just thinking just get the ball down and I was able to do that."

Steve Cishek then replaced Choate and retired the next three batters to give Miami a chance, but John Axford retired the Marlins in order for his 14th save.

"These are wins that we need and tonight we gave one away," Ruggiano said.

Miami had won four straight games. Third baseman Hanley Ramirez had two of the Marlins' three errors.

Greinke allowed five runs and six hits in six innings for Milwaukee, but remained unbeaten in 22 home starts since he was acquired by the Brewers.

"It was a pretty bad outing for me," said Greinke, who is 15-0 with a 2.71 ERA at Miller Park over the last two seasons. "But I got picked up. The guys played really well behind me."

Carlos Gomez homered in the fifth and pinch-hitter Travis Ishikawa came through with a tying two-run single in the sixth, handing a no-decision to Milwaukee's best starter.

Miami right-hander Carlos Zambrano also worked six innings, allowing five runs, three earned, and five hits. He struck out two, walked four and hit a batter.

"Carlos was a little weird today but I wouldn't say he was bad," Guillen said.

Miami got off to a nice start. Jose Reyes and Ramirez started the game with consecutive singles and Giancarlo Stanton then walked to load the bases. After Logan Morrison struck out, Ruggiano got the Marlins the lead with a two-run single.

Morrison hit an RBI double in the third before Ruggiano drove a full-count pitch over the wall in left for his third homer, making it 5-2.

Zambrano, who entered with a 13-10 record in 34 career appearances against Milwaukee, hurt himself with a lack of control. He hit Ryan Braun with two down in the first, then walked three consecutive batters to force in a run.

"I made two big mistakes today," Zambrano said. "The pitch to Gomez and the pitch to Ishikawa. That was the whole game."

Greinke added a sacrifice fly in the second to tie it at 2.

Kameron Loe, Francisco Rodriguez (1-4) and Axford combined for three innings of one-hit ball for Milwaukee. Rodriguez worked out of a bases-loaded jam in the eighth and Axford worked a scoreless ninth to record his 14th save.

Ryan Webb (3-2) gave up Weeks' hit and got the loss.

NOTES: The Brewers observed a moment of silence before the game in honor of grounds crew member Jeff Adcock, who suffered a heart attack and died Sunday during a game against Arizona. ... Zambrano hit Braun on the elbow and when the pitcher came to bat in the second, he was buzzed by Greinke, leading to a warning being issued to both benches by plate umpire Derryl Cousins. ... Miami C John Buck was ejected by Cousins in the sixth inning for arguing a check-swing strikeout.