St. Louis scored its seven runs in the third on just four hits and handed the Pirates a big setback in what has been their best season in 21 years.
The Cardinals will try to take a 2-0 lead in the best-of-five National League Division Series when they host Friday's game, which has a scheduled start time of 1 p.m. EDT.
St. Louis benefited from three walks, a hit batsman and an error in its game-changing inning and Adam Wainwright coasted from there.
Wainwright, making his fifth post-season start and the winner of 19 games in the regular season, gave up a run on three hits with nine strikeouts to collect the victory.
The Cardinals' starter also played a role in the third inning, drawing a walk off A.J. Burnett to open the frame.
Matt Carpenter followed with a single and Beltran put St. Louis ahead with his home run to right.
St. Louis then loaded the bases with nobody out when Matt Holliday doubled, Matt Adams was hit by a pitch and Yadier Molina walked. A walk to John Jay forced in the fourth run of the inning and David Freese singled home two more. When the throw back to the infield by right fielder Marlon Byrd got away, another run came home.
Burnett was charged with all seven runs in the third inning to take the loss.
Lance Lynn, who had a 3.97 ERA this season in more than 200 innings, will get the start in Game 2 for the Cardinals. Pittsburgh, which reached the NLDS by virtue of its wild card victory over Cincinnati, will counter with Gerrit Cole.