ST. LOUIS (AP) Stephen Piscotty savored the moment of his second career grand slam. Then he got some chow.
The St. Louis Cardinals' budding star remembered an empty stomach caused by all that time at the ballpark after a rain-soaked, twice-delayed 9-8 victory over the Milwaukee Brewers that completed a three-game sweep on Sunday. He hadn't eaten since breakfast and the game lasted just over six hours counting stoppages.
''I hadn't eaten before the homer, so maybe there's something to staying hungry,'' Piscotty joked.
Brandon Moss had a go-ahead double in a two-run fifth, and rookie Aledmys Diaz hit his 11th homer. The Cardinals lead the season series 7-2.
But it was a long slog to get there.
''I think guys feel like they played two,'' manager Mike Matheny said. ''Coming out with a win, it doesn't matter.''
Besides falling short, the Brewers had no complaints.
''They did the best they could to make the field playable,'' manager Craig Counsell said. ''There was nothing you could really do. Just miserable weather.''
The start was delayed by rain 1 hour, 20 minutes, there was a 14-minute stoppage in the middle of the sixth and a third delay of 55 minutes in the top of the Brewers' two-run seventh. Perhaps a few thousand of a crowd of 41,148 stuck it out for a game that officially lasted 3:48.
Pitchers on both sides had trouble gripping the ball.
''It seemed like it was always coming down hard when our guys were trying to make pitches,'' Matheny said. ''It ended up really saturating the field. I mean right there at the end you still saw puddles all over the place, but the guys stayed the course.''
Piscotty is 5 for 9 with 13 RBIs with the bases loaded this season, including his first career slam on May 27 at Washington, and for his career he's 8 for 15 with 18 RBIs. He connected on a full count against Blaine Boyer with two outs in the sixth for an 8-2 lead, and got the full effect.
''Around first base you really hear the crowd start to roar and the fireworks go off,'' Piscotty said. ''It's a fun trip around the bases.''
Michael Wacha (5-7) allowed two runs and nine hits and escaped his fifth and final inning when Aaron Hill grounded into a double play on a 3-1 count with the bases loaded. Kirk Nieuwenhuis hit a two-run double in a four-run ninth and the go-ahead run was at first when Seung Hwan Oh struck out pinch-hitter Martin Maldonado for his second save.
Chase Anderson (4-9) has lost three straight starts, allowing 15 earned runs in 10 2/3 innings and was pulled after his fifth walk, with one out in the fifth. Jacob Barnes gave up Moss' RBI double for the lead and Jhonny Peralta's sacrifice fly.
''He was not his normal self,'' Counsell said of Anderson.
Ramon Flores' two-run double put the Brewers ahead in the fourth and Ryan Braun had four singles. Milwaukee is 13-26 on the road with one series win and four splits in 13 attempts, and finished the first half 35-46.
After the game the Brewers optioned OF Keon Broxton to Triple-A Colorado Springs and purchased the contract of IF Will Middlebrooks from Colorado Springs. LHP Chris Capuano was transferred to the 60-day disabled list from the 15-day DL.
Anderson, who entered a career .077 hitter, singled in the second.
Trevor Rosenthal, who lost his closer job about a week ago, faced four hitters in the seventh, retired none of them and was charged with two runs.
Cardinals: Carlos Martinez (7-5) is to start against Pittsburgh. He is 3-0 with a 1.06 ERA in his last six starts, allowing no runs in three of them. He is 3-4 with a 4.02 ERA against the Pirates.
Brewers: Milwaukee is 9-2 in starts by Junior Guerra (5-1) entering an 11:05 a.m. game at Washington. The right-hander will be facing the Nationals for the first time.