Jhonny Peralta then hit a routine grounder to second base, where right fielder Baxter was positioned with the bases loaded and no one out to give the Cubs five infielders. He had plenty of time, but threw wildly to the plate.
Kevin Siegrist (2-0) got the win as St. Louis won its fourth in a row overall and seventh straight at home, where the Cardinals are a major-league best 27-7.
Chicago lost its third in a row after a four-game winning streak.
St. Louis rookie Greg Garcia tied the score 2-2 with a pinch-hit homer off Pedro Strop leading off the eighth. It was Garcia's first major league homer and the Cardinals first pinch-hit homer of the season. Garcia is 3 for 4 as a pinch-hitter since being recalled from Triple-A Memphis on June 19.
Chicago rookie Kris Bryant gave his team a 2-1 lead by driving in Dexter Fowler with a sacrifice fly to center in the seventh off starter John Lackey (6-5), who gave up two runs on eight hits in seven innings. Fowler stared the inning with double.
Chicago starter Jake Arrieta allowed just one run on three hits over seven innings.
Randal Grichuk gave St. Louis a 1-0 lead with a run-scoring triple in the second.
Chicago, which had scored just three runs over its previous three games, tied it in the fourth on an RBI single by Baxter, who helped Arrieta with a leap into the stands to snare a fly ball by Peralta leading off the sixth.
Cubs: Bryant returned to the starting lineup after being taken out of Thursday's game against the Los Angeles Dodgers with flu-like symptoms after the second inning. ... OF Dexter Fowler also returned after missing three games with a sore ankle suffered running the bases on Monday.
Chicago RHP Donn Roach will make his first start of the season against RHP Michael Wacha (9-3, 2.85). Roach is replacing Tsuyoshi Wada, who suffered should tightness in his previous start on Monday. Roach was 7-1 with a 2.29 ERA for Triple-A Iowa. Wacha began the season 7-0.
Link to box score: St. Louis (49-24) 3, Chicago Cubs (39-33) 2 (10 innings)