National League
San Francisco's Barry Bonds joined his godfather Willie Mays at third on the all-time list with the 660th homer of his career.
Bonds' home run helped his team to a 7-5 win over the Milwaukee Brewers - and he did it in front of a sellout home crowd.
He connected in the fifth inning against Milwaukee on a 3-1 pitch from Matt Kinney and sent the ball over the right-field wall into McCovey Cove for his second homer of the season, a three-run shot.
The 39-year-old Bonds was greeted at home base by several team-mates and he stepped on the plate and raised both hands in the air.
Hank Aaron leads the all-time list with 755 home runs, followed by Babe Ruth with 714.
American League
Travis Hafner hit a grand slam as Cleveland Indians defeated the Minnesota Twins 6-3 in Anaheim to end a three-game losing streak.
Hafner, who connected in the third inning off Kyle Lohse, was delighted afterwards and said: "It is the kind of thing you dream about. That is one of the highlights of my career."
The Indians have struggled to close out games - and their victory was a relief for outfielder Coco Crisp.
"We finally pulled one out," said Crisp. "We got the lead and kept it."
David Riske has been blamed for the Indians' failure to close out games - and he was booed by the home fans when he lets the Twins pull within 6-3.
"If I didn't blow those other games we could be 7-1 or whatever," Riske said.
"Everyone has been talking about how bad the bullpen has been, and it's been about me."
Brad Fullmer's three-run double keyed a five-run sixth inning that helped the Texas Rangers edge the Anaheim Angels 7-6.