Pitcher Corey Knebel told center fielder Keon Broxton he owes him big time.

For good reason.

Domingo Santana and Jonathan Villar homered in the sixth inning, and Broxton made a leaping catch over the wall for the final out in the Milwaukee Brewers' 6-5 win over the St. Louis Cardinals on Wednesday.

Knebel pitched the ninth for his 30th save. He allowed a leadoff single to Yadier Molina, struck out the next two batters, and then watched Broxton snag Randal Grichuk's deep blast to end the game.

"I wouldn't say it's the best one I've ever made, but it's definitely one of the most important ones I've made," Broxton said. "It's huge. It's everything. It's what every outfielder dreams of: making a catch like that in the bottom of the ninth to secure the win. It was a lot of fun, for sure."

Broxton replaced starting center fielder Hernan Perez with one out in the eighth as part of a double switch.

"I'm glad he was in there, for sure," Milwaukee manager Craig Counsell said. "Although Hernan Perez says he would've made the play."

Chase Anderson (8-3) gave up two hits — both homers — in six innings, three earned runs, struck out six and walked two to improve to 4-0 in nine starts at Miller Park this season.

Santana hit his 22nd homer of the season and Villar's was his 10th, giving Milwaukee a franchise-record nine players with at least 10 homers in a season.

St. Louis fell 2½ games behind the second-place Brewers in the NL Central despite two home runs from Tommy Pham, who has 19 on the season.

Carlos Martinez (10-10), who entered the game 3-0 in his past four starts, allowed 10 hits, six runs — three earned — and struck out seven in 5 2/3 innings.

Milwaukee won for the 10th time in its past 15 games by scoring three times in the sixth. Santana led off with an opposite-field homer to right, Stephen Vogt reached when his ground ball went through the legs of third baseman Matt Carpenter and Villar followed with another opposite-field shot to left for a 6-3 lead.

Grichuk hit his 17th homer in the fifth and St. Louis manager Mike Matheny thought he had another in the ninth.

"It was a good play, a good at-bat, too," Matheny said. "Off the bat, I thought that ball was far enough, but he made a great play out there."

LEAKE TRADED

Before the game, St. Louis sent starting pitcher Mike Leake to the Seattle Mariners for minor-league infielder Rayder Ascanio.

The 29-year-old Leake, who signed a five-year deal with St. Louis before the 2016 season, waived the no-trade clause in his contract.

He was 7-12 with a 4.21 ERA this season, but lost 10 of his previous 12 decisions after getting off to a 5-2 start.

Leake was scheduled to pitch at San Francisco on Friday, but it appears the Cardinals will bring up a prospect from Triple-A Memphis to take his place.

STATS

St. Louis hit three home runs in a game in which it totaled five or fewer hits for the first time since April 8, 2004, also against Milwaukee.

UP NEXT

Cardinals: RHP Michael Wacha (9-7) takes a three-game losing streak into his start at San Francisco.