Craig, batting cleanup, had three hits, drove in a run and scored twice and Lance Lynn allowed two runs over seven innings to lead the Cardinals to a 5-2 victory over the Atlanta Braves on Friday night.
After batting.315 with 97 RBIs in 134 games in 2013, Craig has struggled to find his stroke. He was hitting .192 on April 29, but his average has risen slowly but steadily since. He was up to .231 after Friday's game.
Craig said he is feeling better and better at the plate, even if the results have not been readily apparent.
''Guys know when they're feeling good in the box,'' Craig said. ''The results may not be there, but you can still feel good and feel like good things are going to happen. It's just a matter of time and being patient. I feel like I'm at that point.''
Nevertheless, Craig was happy with the multihit game.
''I'm definitely excited because I don't take success for granted,'' Craig said. ''This game's tough and a lot goes into having a good game.''
Lynn (5-2) allowed seven hits walked two and struck out three. He seemed to get stronger as the game went on.
''It was just one of those things where everything clicked and all of a sudden I was throwing the ball where I wanted to,'' Lynn said. ''I was throwing the ball in the strike zone and when that happens, it's fun to pitch.''
Carlos Martinez retired the Braves on four pitches in the eighth and Trevor Rosenthal set down the side in order for his 12th save in 13 opportunities.
Matt Carpenter and Kolten Wong had two hits each and scored a run for St. Louis. Matt Holiday, Matt Adams and Yadier Molina all drove in a run for the Cardinals.
St. Louis finished the game without manager Mike Matheny and center fielder Peter Bourjos, both of whom were ejected by home plate umpire Sean Barber at the end of the fourth inning for arguing balls and strikes.
''I loved to see the fire and the fight that Peter showed there,'' Matheny said. ''Frustrated and knew a couple of pitches didn't get called to what he thought was the strike zone in big situations. You can't take the emotions out of these guys.''
The Braves' Chris Johnson went 2 for 4 with a run scored. Johnson is batting .377 (20 for 53) in May.
While Johnson has been hot, his teammates have not. The Braves, who have lost 11 of 16, were held to two or fewer runs for the 18th time.
''We get one or even two guys hot and they're so far apart in the lineup that we don't get it going,'' Braves manager Fredi Gonzalez said. ''Sooner or later we'll start swinging like we're capable of.''
Ervin Santana (4-1) took his first loss as a member of the Braves. Santana lasted five innings and allowed five runs and 10 hits with one walk and three strikeouts.
St. Louis broke open a 2-2 tie by scoring three times in the fifth. With one out, Carpenter and Wong singled. Holliday followed with an RBI double down the right field line to score Carpenter. Wong scored on Craig's single to left and Molina made it 5-2 with a sacrifice fly.
The Braves took a 1-0 lead in the second on a two-out RBI single by Tyler Pastornicky, but the Cardinals tied it in the bottom of the inning on Adams' RBI double. After the Braves took a 2-1 lead in the fourth on Andrelton Simmons' 6-4-3 double play ball, the Cardinals tied it in the bottom of the frame when Craig scored from third on Santana's wild pitch with two outs.
NOTES: Jhonny Peralta stole second in the fourth inning for his first stolen base as a member of the Cardinals. ... Santana had two wild pitches, giving him a total of five, one behind Arizona's Wade Miley for the most in the National League. ... Atlanta's Aaron Harang (4-3) will oppose Shelby Miller (5-2) in the second game of the series Saturday. ... Friday was the first time that Santana has allowed five or more earned runs since Aug. 9, 2013, in a 9-6 win over Boston when he was with Kansas City.