Updated

Zack Greinke worked six strong innings and Jonathan Lucroy's two-run double capped a three-run sixth as the Milwaukee Brewers beat the St. Louis Cardinals 3-2 Sunday to avoid a three-game sweep.

Greinke (3-1) allowed a run on seven hits to help stop the Brewers' six-game road losing streak. He's 2-1 with a 2.11 ERA in four career games in St. Louis. He pitched a lot better than in his only other road start this year, when he surrendered eight runs in 3 2-3 innings at Chicago on April 12.

Jaime Garcia (2-1) fell to 17-10 at home with a 2.38 ERA and all three of his shutouts, and 12-7 with 4.15 ERA on the road.

John Axford escaped an eventful ninth for his fifth save in five chances and 48th in a row, breaking a tie with Brad Lidge for the fourth-longest string in major league history.

The Cardinals had men on first and third with none out before Axford struck out David Freese on a full count. The runners then got hung up on Yadier Molina's strikeout, with Tyler Greene an easy out at the plate.

The Cardinals were 2 for 14 with runners in scoring position and stranded 13 runners.

St. Louis missed a chance to make it 2-0 in the fifth when, with one out, Garcia broke for home from third on Matt Holliday's routine flyout to medium center, a certain sacrifice fly if he'd have tagged up.

The Brewers took the lead with a four-hit, three-run sixth. Aramis Ramirez had an RBI single to tie it and Lucroy, who had been 3 for 17 with runners in scoring position on the year, made it a two-run cushion with a drive off the left-field wall.

Cardinals manager Mike Matheny showed faith in Garcia when he pulled back a pinch hitter with two outs and one on in the sixth, and Garcia singled for the second straight at-bat. Rafael Furcal flied out to end the threat.

Garcia had a season-high six strikeouts in seven innings, his third straight start of seven innings or more.

Kameron Loe got Molina, who had been 7 for 11 in the series, with two on to end the seventh. The Cardinals cut the gap to a run when Matt Carpenter doubled off Francisco Rodriguez to start the eighth and scored on pinch hitter Daniel Descalso's groundout.

NOTES: Before the game, there was a moment of silence for those injured in a violent storm at a bar near Busch Stadium shortly after the end of Saturday's game. ... Milwaukee LHP Randy Wolf (1-2, 7.17) starts Monday in the opener of a three-game series at San Diego, opposing RHP Joe Wieland (0-3, 4.76). The Cardinals have the day off Monday before starting a three-game series at home against the Pirates. ... Robert "Kool" Bell of Kool and the Gang, in town for a concern with Van Halen, threw out a first pitch. ... Attendance of 45,824 was the fourth sellout in nine home games. ... Molina is 0 for 9 against Loe. ... The Brewers have won 51 in a row when leading in the ninth.