The right-hander, rebounding from Tommy John surgery, threw five scoreless innings, striking out five in the Cardinals' 2-1 win over the Marlins at Roger Dean Stadium.
Wainwright, slotted as St. Louis' No. 3 starter, limited Miami to three hits. He showed command, with 44 of his 65 pitches going for 44 strikes.
"Every time out, for the most part, I've felt more comfortable on the mound and felt like I have been able to make adjustments on the fly," Wainwright said. "As you go into a season, that's what you want."
Facing the Cardinals for the second straight outing, Marlins right-hander Carlos Zambrano had to battle for 4 1/3 innings, giving up two runs on five hits with four walks. He struck out one.
Miami's sole run came courtesy of Jose Reyes' homer, his first of the spring, off Kyle McClellan.
Zambrano, who struck out seven Cardinals in his previous appearance, built up to 82 pitches.
Zambrano yielded doubles in each of the first three innings. The Cardinals made him pay in the second, scoring twice on two hits.
Matt Carpenter doubled to open the second, and Koyie Hill walked. A double steal moved both into scoring position, then Alex Cora floated an RBI single to center. St. Louis manufactured its second run when Hill raced home on Cora's attempted steal of second.
Lance Berkman had two doubles for the Cardinals.
The Marlins last won on March 15, against the Mets. Since then there have been six losses and two ties, and they've scored 17 runs in the stretch.
The team has been without regulars Giancarlo Stanton and Logan Morrison, as well as the veteran Greg Dobbs.
"You have three guys out of the lineup that should be," manager Ozzie Guillen said. "That's kind of hard. In the meanwhile, we're going to hit. We're going to be fine. I am not worried about that. We're playing good baseball. We're pitching well.
"I'm happy. When I'm not happy, I'll let you guys know. I'll let them know, too. That's easy for me."
Up next: The Marlins take on the Red Sox at Roger Dean Stadium at 1:05 p.m. ET on Saturday. Wade LeBlanc is getting the start for the Marlins. The lefty has been arguably Miami's best pitcher this spring, posting a 2-0 mark with an 0.61 ERA (one run in 14 2/3 innings). Boston is going with left-hander Felix Doubront. Saturday would be Anibal Sanchez's start, but the right-hander will be throwing a Minor League game to stretch his pitch count out.