Bonds ended his slump, driving in six runs as he became the first hitter to reach Sheffield Avenue with his 752nd career homer to lead off the second. He hit number 753 with two on in the seventh. It just reached the centerfield basket at the top of the wall.
Aramis Ramirez had three hits for the Cubs, including a double, to drive in two runs. Alfonso Soriano had two doubles and a single. He drove in a run and scored twice.
The Cubs batted in a four-run first off loser Matt Morris.
Ted Lilly gave up Bonds' first homer, but got the win.