Smoltz struck out a season-high nine -- including seven straight, which he'd never done before -- and held the San Diego Padres to three hits over five scoreless innings in a 5-2 victory Sunday.
St. Louis slugger Albert Pujols hit his 40th homer, the fifth time he's reached that plateau.
Smoltz also had a bunt single and scored the first run for the NL Central-leading Cardinals, who retained their eight-game lead over the Chicago Cubs. He didn't walk a batter.
Although manager Tony La Russa said Smoltz was tipping pitches, the veteran managed to regain his confidence.
"I don't know to the extent how long it was going on, or if it was, but I just know it's refreshing to come and do something and feel like the old John," Smoltz said.
The 42-year-old Smoltz (1-0) signed with the Cardinals on Wednesday after he cleared waivers following his release from Boston. He had a dreadful performance with the Red Sox, going 2-5 with an 8.32 ERA after attempting a comeback from shoulder surgery. In six of his eight starts, he allowed five earned runs or more.
It helped that his Cardinals debut was against the Padres, who at .240 have the second-worst batting average in the majors.
"I felt really good," Smoltz said. "I made a conscious decision coming into this start to forget everything else, totally wipe out everything else, and try to go have a little bit of fun and not be caught up in story line and impressing everybody, and it worked."
The first two Padres batters reached against Smoltz, including Everth Cabrera with a leadoff infield single, but didn't score. After getting Adrian Gonzalez to hit into a double play, Smoltz began his strikeout streak by fanning cleanup hitter Chase Headley.
Smoltz struck out the side the next two innings. Tony Gwynn Jr. snapped the streak with a single to shallow left-center leading off the fourth. Gwynn and Gonzalez were the only Padres who didn't strike out against Smoltz.
"I just felt like I was in command, I was in charge of the strike zone," he said. "The first inning was key, when I had to face Gonzalez with nobody out and first and second. Those are the kind of innings where a bloop here, or a bad pitch there, equates to a bigger inning. When I got that double play, which I don't get many, I knew that today could be special."
The nine strikeouts were his most since consecutive 10-strikeout games on April 14 and 22, 2008, while with Atlanta.
When he was working out in Atlanta after being released by the Red Sox, Smoltz said someone noticed that his heel was coming away from the rubber, which was affecting his delivery. Cardinals pitching coach Dave Duncan then fixed what he called "some minor things."
"I got into a funk, and I'm glad I'm out of it," Smoltz said.
"He was sharp," San Diego's Will Venable said. "That guy can still pitch. Whatever numbers he came in with before today are no reflection on what type of pitcher he is."
The benches and bullpens emptied momentarily after Pujols apparently thought Venable threw an elbow while being tagged out to end the sixth inning. No punches were thrown and order was quickly restored.
Padres right-hander Cesar Carrillo (1-2) lasted two-plus innings in his third big league start and was sent down to Triple-A Portland afterward. He walked Mark DeRosa leading off the third and had a 2-0 count against Yadier Molina before manager Bud Black replaced him with Edward Mujica. Carrillo allowed four runs and five hits, walked six and struck out one.
The Cardinals scored four runs with two outs in the second. Smoltz reached on a fielder's choice and eventually scored on Brendan Ryan's single. Carrillo intentionally walked Pujols to load the bases, walked Matt Holliday to bring in a run and allowed Ryan Ludwick's two-run single.
Pujols connected against Mujica leading off the fourth to reach 40 homers for the first time since 2006, when he hit a career-high 49.
Cabrera, the Padres' shortstop, and second baseman Luis Rodriguez each made a nifty play on the front end of an inning-ending double play in the seventh. With the bases loaded, Cabrera fielded pinch-hitter Julio Lugo's grounder and flipped the ball with his glove to Rodriguez, who barehanded it for the force and then threw out Lugo.
Smoltz is 17-8 with a 2.50 ERA and eight saves in 46 career games against San Diego, including 37 starts. He has won his last five starts against San Diego dating to May 9, 2007. ... RHP Adam Russell will join the Padres from Triple-A Portland on Tuesday in Atlanta. No starter has been named for Saturday's game at Florida.
Texas Rangers activate slugger Khris Davis from injured list
Khris Davis was activated from the injured list Saturday by the Texas Rangers, marking the slugger's first time on their active roster for a game since being acquired in trade that sent longtime shortstop Elvis Andrus to Oakland.
Freddie Freeman can't shake being called 'Frederick'
Freddie Freeman tells Bustler Olney how people can't stop calling him "Frederick" after Anthony Rizzo did it.
Fantasy baseball forecaster: Team hitting ratings
Stay ahead of the game and optimize your fantasy baseball hitters with our forecaster, which provides a rolling 10-day outlook of every team's hitting matchups as well as the potential for stolen bases.
Fantasy baseball forecaster for Week 6: May 10-16
Set your lineups for the week ahead in fantasy baseball with our forecaster preview, which features pitcher rankings, two-start pitchers, hitter ratings, schedule observations and more.
Fantasy baseball forecaster: Pitcher projections for the next 10 days
Keep up to date on who is pitching -- and how well they're expected to do -- with our forecaster, which provides a rolling 10-day outlook of every team's probable starting pitchers with game score projections.
Houston faces Toronto, aims to build on Urquidy's solid outing
Toronto Blue Jays (16-15, third in the AL East) vs. Houston Astros (17-15, third in the AL West)