Nola pitched seven shutout innings, gave up two hits and struck out seven, four of which were looking. The Cardinals couldn't get a runner past first after Nola pitched around a Matt Carpenter leadoff double in the first.
"He can paint the fastball on both sides of the plate, keep hitters guessing one side or the other," Phillies manager Pete Mackanin said. "You can't sit on one side of the plate because he's so good at locating both sides of the plate and he's got a real good breaking ball that he threw extremely well today."
Nola threw 76 of his 111 pitches for strikes.
In his past three outings, Nola (2-2) has given up one run and struck out 21 over 21 innings. He currently has a 20-inning scoreless streak.
"Try to mix my changeup in more," Nola said. "I didn't do it too too much tonight, but when I did, I felt like I used it efficiently. Just trying to command the ball down in the zone and try to command it in and out and up."
The 22-year-old overshadowed eight strong innings from Wacha (2-2), whose only mistake was a home run off the bat of Ryan Howard.
"He has good run on his fastball and then the curveball comes out of the same slot, the same kind of funky delivery," Wacha said of Nola. "It's a good one. He gets a lot of movement on the fastball and then throws the slider, curveball and gets it down in the zone. Credit to that guy, he was on his game tonight."
Peter Bourjos aided Nola's cause with a sliding catch to rob Randal Grichuk of a sure RBI double in the fourth. Grichuk's drive was tailing away from Bourjos. Had the ball gotten down, it would have gone into the right field corner and would have scored Yadier Molina, who reached on a two-out infield single after a successful review by Cardinals manager Mike Matheny.
"He's helped us win four of five games with his defense and speed," Mackanin said of Bourjos. "That's the thing we talked about over the winter about getting better coverage in the outfield. He's really added to our outfield coverage."
Nola thanked Bourjos afterward.
"Pete covered a lot of ground on that," Nola said. "That's what Pete does. He's fast. He's quick. He's a great player."
Hector Neris struck out all three batters he faced in the eighth and Jeanmar Gomez picked up his ninth save.
The Phillies have now won seven of their last eight. The win broke a four-game losing streak against the Cardinals.
"The key to a good team is bouncing back," Mackanin said. "We bounced back from an 0-4 start and it was important for us as a team to bounce back from getting beat pretty bad last night."
Joe Harris is a contributor for MLB.com based in St. Louis.