Updated

ST. LOUIS -- Travis Shaw and Jonathan Villar each hit a tape-measure home run, and the Milwaukee Brewers beat the St. Louis Cardinals 7-5 in 10 innings on Monday night.

Shaw's three-run shot off Seung Hwan Oh (0-2) traveled an estimated 451 feet and broke a 4-all tie with two outs in the top of the 10th. Villar's two-run drive in the third soared 450 feet to right-center and gave the Brewers a 2-0 lead.

Jedd Gyorko hit two late homers for the Cardinals and finished with four hits. Aledmys Diaz and Matt Carpenter connected back-to-back in the fifth.

Oliver Drake (1-0) pitched a scoreless ninth and Neftali Feliz earned his seventh save.

Milwaukee starter Zach Davies allowed at least one runner in every inning. He gave up two runs and seven hits in five innings, stranding six.

Domingo Santana led off the fourth with a double and scored his fifth run in two games on Manny Pina's single to make it 3-0.

Eric Thames doubled home Villar in the fifth to make it 4-0. Thames has reached safely in 23 of 24 games this season.

Diaz and Carpenter homered in the fifth to cut the Brewers' lead to 4-2. It was the first set of back-to-back home runs for the Cardinals this season.

Gyorko led off the eighth and 10th with home runs to give him six this season -- all solo shots.

Cardinals starter Michael Wacha gave up four runs and seven hits in six innings.

WONG'S WOES

Kolten Wong ran into a rally-killing out to end the sixth. Cardinals pinch-hitter Matt Adams singled and Wong went from first to third, but fell down after rounding third. He was retired in a long rundown that was scored 8-6-2-5-6.

Wong's error in the 10th led to Shaw's home run. Hernan Perez opened the inning with a liner off Wong's glove and the second baseman threw wildly to first, allowing Perez to reach safely. The extra out allowed Shaw to bat with two outs.

NEW LOCKS, NEW LUCK?

Cardinals RHP Carlos Martinez has more of a traditional hair style. Martinez, the team's opening day starter, hopes the new look changes his fortunes. He has sported gold and silver long hair, but is winless through his first five starts.

TRAINER'S ROOM

Brewers: OF Ryan Braun (right trapezius soreness) remains day to day. … LHP Tommy Milone was designated for assignment, and Milwaukee selected the contract of RHP Rob Scahill from Triple-A Colorado Springs.

Cardinals: INF Jhonny Peralta (upper respiratory illness) has worked in the batting cage, but still hasn't taken live fielding.

UP NEXT

Brewers: RHP Wily Peralta (4-1, 5.19 ERA) looks for his third quality start Tuesday night. He is 4-11 with a 5.10 ERA in his career against St. Louis, including 0-8 with a 5.46 ERA over his last eight starts vs. the Cardinals.

Cardinals: Martinez (0-3, 4.71) is still seeking his first win since Sept. 30, 2016. He is 4-2 with a 1.95 ERA in 20 career appearances against Milwaukee.