Khris Davis hit two home runs, including a two-run shot in the eighth inning off recent teammate Jonathan Broxton, and the Milwaukee Brewers beat St. Louis 5-4 Sunday and ended the Cardinals' four-game winning streak.

Broxton (1-3), traded from Milwaukee to the NL Central leaders on July 31, relieved Kevin Siegrist with a runner on second and one out with a 4-3 lead.

Davis hit the first pitch into the Cardinals' bullpen for his 11th homer.

Will Smith (5-2) pitched a scoreless eighth. Francisco Rodriguez worked the ninth for his 26th save in 26 chances this year.

Davis earlier hit a two-run homer off Cardinals starter John Lackey.

Last Thursday, Davis hit a pair of three-run homers in Milwaukee's 10-1 win over San Diego. He had been held hitless in six at-bats during the first two games of this series, a pair of shutouts for the Cardinals, before breaking loose.

Matt Carpenter hit a three-run homer off Brewers starter Jimmy Nelson with two outs in the seventh for a 4-3 lead.

Pinch-hitter Jason Rogers opened the Milwaukee eighth with a single off Siegrist. Shane Peterson's sacrifice bunt moved him to second, and Broxton took over.

Lackey gave up six hits, including a solo homer by Herrera and the drive by Davis, in six innings.

Herrera's home run with one out in the third came one pitch after Jean Segura was caught stealing second base, a play that was confirmed after a challenge by the Brewers.

Jason Heyward hit an RBI single in the sixth for the Cardinals. Nelson allowed four runs on eight hits while striking out eight in seven innings.

Brandon Moss and Stephen Piscotty opened the St. Louis seventh with singles, and Tony Cruz's sacrificed. Pinch-hitter Mark Reynolds grounded out but, after a brief conference at the mound, Nelson stayed in the game and Carpenter hit his 16th home run.