Hernan Perez had four hits and three RBIs for the Brewers, who won their season-high fifth straight on the road and have won seven of their last eight games.
The Cardinals fell to 30-38 at home and dropped a half game behind the idle New York Mets for the second wild card spot.
Santana and Arcia connected on consecutive pitches in the second inning. It was the seventh time Milwaukee hit back-to-back homers this season and the second time in four days asChris Carter and Santana did it on Sunday at Pittsburgh.
Perez's four hits matched a career high he set Tuesday against Chicago.
Arcia had three hits and raised his average to .367 over his last 15 games.
The bottom three hitters in the Brewers lineup reached eight times and scored six runs.
Martin Maldonado's two-run home run in the sixth was his first since Aug. 13.
Brewers right-hander Junior Guerra (8-3) needed 74 pitches to get through five innings in his second start back from the disabled list. It was his first career win against St. Louis in three tries.
Jaime Garcia (10-12) struggled for the fourth time in his last five starts, losing a career-high fourth straight decision. He gave up five earned runs in 3 2/3 innings - his third shortest outing of the season.
Cardinals reliever Mike Mayers retired just three of the nine batters he faced, giving up six runs. He has given up 15 runs in 3 1/3 innings and has a 40.50 ERA.
Cardinals: LHP Michael Wacha (right shoulder inflammation) and RHP Trevor Rosenthal (right shoulder inflammation) both had successful bullpen sessions Wednesday. . OF Matt Holliday (right thumb fracture) grabbed a bat for the first time Thursday. . IF Aledmys Diaz (right thumb fracture) went 0-for-4 in a rehab start at Double-A Springfield on Wednesday.
Brewers: RHP Jimmy Nelson (7-13, 4.36 ERA) has made 12 quality starts this season. He is 0-6 with a 7.57 ERA in eight career games against St. Louis.
Cardinals: RHP Carlos Martinez (13-7, 3.07 ERA) leads all National League pitchers with 30 double plays induced. He is 2-0 with a 0.95 ERA in three starts this season against Milwaukee.