Davis drove in Jonathan Lucroy, who doubled off Seth Maness (0-2) to start the inning. Mark Reynolds then drove in Davis with a sacrifice fly. Davis, who finished 1 for 6, struck out in the second, fifth, sixth and 10th innings.
Zach Duke (2-0) picked up the win with two innings of scoreless relief, and Francisco Rodriguez recorded his 12th save in as many opportunities by getting Jhonny Peralta to fly out with two on to end the game.
Milwaukee, which leads the majors with 19 wins, has won four of five and eight of 10.
Allen Craig and Matt Holliday homered for St. Louis, which has lost four of six.