Chicago Derrek Lee pumped his fists and broke into a wide smile when his fly to right cleared the wall for a grand slam.
He has had few hits to celebrate this season.
Lee connected off reliever Ryan Wagner in the seventh inning, highlighting the Chicago Cubs' 8-1 victory over the Cincinnati Reds on Monday.
The homer was the first in 11 games for Lee, a notoriously slow starter. He entered the game hitting .244 with one homer and four RBIs.
"It seemed like I hadn't had a hit in forever," Lee said. "I don't know that I've ever had a quick start. Maybe I can pick it up the next couple of weeks."
Lee, acquired in the offseason in a trade with Florida, is a career .228 hitter in March and April and has hit .223 in May.
Matt Clement (2-1) settled down after a rocky first inning to allow one run on four hits in 61/3 innings to pick up his second win in two starts.
The right-hander retired 11 batters in a row and 15 out of 16 at one point, striking out six and walking four.
The Cubs led 3-1 when Lee came to the plate with the bases loaded and no outs. The big first baseman said he was just trying to hit a sacrifice fly to drive in a run.
Instead, the ball kept sailing.
"That was huge. That was a real big blow," Cubs manager Dusty Baker said. "I'm just glad he hit it when he hit it."
It was Lee's fourth career grand slam and first with the Cubs.
Aramis Ramirez hit his fifth homer of the season. Corey Patterson added a two-run single for the Cubs, and Alex Gonzalez had three hits and scored twice.
Wagner, the Reds' first-round pick in the 2003 draft, allowed five runs without recording an out before leaving the game. It was the worst outing of his young career.
"Everything was belt-high. He got the ball up, and they were hacking away at it," Cincinnati manager Dave Miley said. "That's going to happen. It's not only going to happen to Ryan Wagner, it's going to happen to the best in the league. He'll learn from it."
Patterson put the Cubs up 2-1 in the second inning. He came up with the bases loaded and two outs, fouled off a pair of full-count pitches from Jimmy Haynes and then lined a single to right.
"I was able to get the count to 3-2, and I got the pitch I was looking for," Patterson said. "It's easier said than done, but in that situation you have to just calm yourself down."
Haynes (0-2) went five innings, giving up three runs on six hits and three walks. The right-hander has failed to pitch past the fifth inning in both of his starts this season.
Clement avoided big trouble in the first inning, surrendering just one run despite walking three and giving up two hits.
After a run-scoring single by Adam Dunn, Clement walked Austin Kearns to load the bases with two outs. Clement struck out Jason LaRue on a 3-2 pitch to escape the jam.
Giants 4, Padres 3
San Francisco -- Barry Bonds hit his 666th homer through a swirling mist and over the center-field wall, and San Francisco held on to beat San Diego to snap a season-worst four-game losing streak.
Bonds has homered in six consecutive games with an at-bat -- he was intentionally walked as pinch-hitter Wednesday -- and connected for the first time this season against the Padres after failing to hit a longball in three games at Petco Park in the season's first week.
He got his major league-leading eighth homer this season one batter after Marquis Grissom hit a two-run shot to left, the first time this season the Giants have hit back-to-back homers.
Jerome Williams (2-1) carried a no-hit bid into the fifth before Khalil Greene's one-out double to left-center broke it up. Williams still got out of the inning unscathed and pitched 62/3 strong innings, allowing one run and four hits, striking out four and walking two.
Mets 4, Expos 1
New York -- Tyler Yates shut down the punchless Expos on five hits over 52/3 inning for his first career win. Karim Garcia and Ty Wigginton homered off Tomo Ohka (0-3), and the Mets rebounded from three losses against Pittsburgh to send Montreal (2-11) to their eighth straight defeat, Montreal's worst losing streak since 2000.
Yates (1-1) was staked to a four-run lead and gave up his only run in the fifth inning, when first baseman Todd Zeile threw a potential double-play grounder into left-center, allowing Juan Rivera to come home from second on the error.