The Giants thought they'd caught a bizarre break in the first inning when the Brewers' Khris Davis was called out for missing the plate on his home run trot.
After Milwaukee challenged the ruling, Davis wound up with his homer -- the first of two -- but visiting San Francisco still beat the Brewers, 8-4.
After homering in the first inning, Davis pointed to the crowd in celebration and skipped across the plate. It appeared to both umpire Will Little and Giants catcher Andrew Susac that the back of his right foot failed to touch down on the dish.
Before Ryan Braun stepped in, the Giants appealed. Tim Lincecum lobbed the ball to Susac, who stepped on the plate, and Davis was declared out.
"I knew he didn't," Susac said. "The thing was, I asked the umpire -- you know I know he's not going to tell me whether he knows or not -- but I said as soon as he did it, 'It looked like he missed it.' ''
Brewers manager Craig Counsell contested the decision. After a replay review that took several minutes, the home run counted. After hitting another solo homer in the third, Davis stomped firmly in the middle of the plate.
Hunter Pence's two-run double in the sixth capped the Giants' seven-run rally. Braun hit a 474-foot homer for the Brewers. All three homers came off Lincecum (5-2).
Nationals 2, Cubs 1: Wilson Ramos and Denard Span homered for visiting Washington, which has won eight of nine.
Dodgers 6, Braves 3: Andre Ethier, Alex Guerrero and Jimmy Rollins homered in the eighth for host Los Angeles.
Cardinals 3, D-backs 2: Jhonny Peralta hit a walk-off homer in the 10th for host St. Louis. Mark Trumbo hit a tying two-run homer in the eighth for Arizona.
Pirates 4, Marlins 2: Charlie Morton gave up two runs in seven innings for host Pittsburgh.
Rockies 5, Reds 4: Host Cincinnati lost its ninth straight as Nolan Arenado drove in the tiebreaking run with a sacrifice fly in the ninth for Colorado. Arenado also homered in the fourth.
Angels 4, Padres 3: Albert Pujols' broken-bat single off Craig Kimbrel with two outs and the bases loaded in the bottom of the ninth inning broke a 3-3 tie.
Mariners 4, Rays 1: Robinson Cano drove in two runs for visiting Seattle.
Rangers 10, Indians 8: Josh Hamilton was hitless in his return to the majors but reached on a key error as visiting Texas earned its sixth straight win.
Twins 7, Red Sox 2: Ricky Nolasco gave up two runs in 72/3 innings and Trevor Plouffe hit a three-run homer for host Minnesota. The Twins got 16 hits and picked up their AL-leading 16th win in May.
Orioles 4, Astros 3: Caleb Joseph and Steve Pearce each hit a two-run homer for host Baltimore. MLB announced that Orioles reliever Brian Matusz has been suspended eight games for using a foreign substance Saturday against Miami. Matusz appealed and will be allowed to play until the hearing.
A's 4, Tigers 0: Jesse Hahn pitched a four-hitter for host Oakland.
Blue Jays 5, White Sox 0: Drew Hutchison pitched a four-hitter and Justin Smoak and Josh Donaldson homered for host Toronto. -- AP