Davis hit a go-ahead triple to help the Brewers win 5-3 in 12 innings Monday night and started the winning rally this time with a leadoff double against Kevin Siegrist (0-1). Milwaukee is a major league-best 20-7, two more victories than the previous franchise best for the opening month, and 11-1 on the road.
The Brewers, missing four starters, managed just enough offense to beat the Cardinals again.
Carlos Gomez homered and pitcher Kyle Lohse had a two-run single for the Brewers, who have won five of six. Tyler Thornburg (3-0) struck out four in two scoreless innings and Francisco Rodriguez finished for his 13th save in 13 chances.
Yadier Molina hit a three-run homer in the first and Allen Craig's RBI triple tied it in the seventh for the Cardinals, who have lost three of four.
The Brewers are 4-1 in extra innings and the Cardinals are 0-3.
Milwaukee's lineup featured light-swinging Scooter Gennett batting third. Ryan Braun and Jean Segura didn't start for the third straight game, Aramis Ramirez had a swollen elbow from getting hit by a pitch, and catcher Jonathan Lucroy got a scheduled day off that manager Ron Roenicke elected not to reschedule.
Molina had been 1 for 13 with runners and scoring position and two outs before depositing a belt-high 1-1 fastball into the first row of seats in left-center.
It was the first homer off Lohse since he gave up two in his first start of the season, and Molina's fourth overall. Lohse followed with five scoreless innings and matched his season best with nine strikeouts, plus a two-run single to cap a three-run fourth against Lance Lynn to tie it.
Gomez homered in the seventh against Tyler Lyons, in his second inning of relief. Lyons had been listed as the starter Friday at Chicago against the Cubs, but the Cardinals have a day off Thursday and could use ace Adam Wainwright on regular rest.