Gast (1-0) tossed five shutout innings before giving up four runs in the sixth. He surrendered six hits, struck out three and walked one in a 71-pitch effort to help the Cardinals win for the fifth time in six games and 11th in their last 13.
Beltran slammed a three-run homer in the fifth inning, his team-high 10th, to give St. Louis a 9-0 lead. He also added a run-scoring hit in the third.
Dillon Gee (2-5) gave up six runs — five earned — in four innings for the Mets, who lost their fifth straight.
ROCKIES 9, CUBS 4
CHICAGO (AP) — Carlos Gonzalez homered twice and finished with a career-high five hits to lead the struggling Rockies to a victory over the Cubs.
Gonzalez was 5 for 5 and fell a triple shy of a cycle, and Eric Young Jr. also homered for the Rockies, who had lost five of their last six.
Colorado increased its lead to 5-0 in the third when Gonzalez hit his eighth of the season deep into the right-field bleachers. His home run in the ninth put the Rockies up 8-3 and gave him nine multi-home run games in his career.
Jeff Francis (2-3), winless since April 5, gave up one run and three hits while striking out seven in six innings. He was 0-3 with an 8.25 ERA over his previous six outings.
Carlos Villanueva (1-3) allowed six runs and 12 hits in five innings for the Cubs.
REDS 6, MARLINS 2
MIAMI (AP) — Homer Bailey pitched a six-hitter to earn his first victory since April 5, and the Reds extended their winning streak to four games by beating the Marlins.
Xavier Paul hit a three-run double for the Reds, who took advantage of consecutive bases-loaded walks by Ricky Nolasco. Brandon Phillips, who began the night tied for the NL lead in RBIs, drove in two runs.
Bailey (2-3), who threw a career-high 125 pitches, tied his major league best with 10 strikeouts and walked none in his fourth complete game. He retired the final eight batters, and his last pitch was a 97 mph fastball.
The right-hander, who has had spotty run support this season, lowered his ERA at night to 1.80. His ERA in three daytime starts is 7.16.
DIAMONDBACKS 2, BRAVES 0
PHOENIX (AP) — Patrick Corbin allowed three hits in seven innings and the Diamondbacks turned an infield double into two runs to beat the Braves.
Corbin (6-0) worked around five walks by inducing three double plays and struck out five to win his career-high sixth straight game. He is the first Diamondbacks pitcher to start 6-0 since Brandon Webb won nine straight in 2008.
Corbin also helped keep Braves slugger Justin Upton in check after his impressive performance the night before and Heath Bell worked around an error in the ninth for his fifth save in the combined four-hitter.
Julio Teheran (2-1) matched Corbin most of the way, but crossed signals with first baseman Freddie Freeman on Gerardo Parra's infield double in third inning. Didi Gregorius followed with a two-run single and made some stellar defensive plays behind Corbin to help Arizona end a three-game losing streak.
PIRATES 4, BREWERS 3, 12 innings
PITTSBURGH (AP) — Andrew McCutchen homered leading off the bottom of the 12th inning to lift the Pirates to a victory over the Brewers.
McCutchen hit a 2-2 pitch from Mike Fiers (0-2) into the right-centre field stands for his fifth home run of the season and the fourth game-ending shot of his career.
Pittsburgh's Jose Tabata had three hits, Russell Martin hit two doubles and Neil Walker had two hits.
Vin Mazzaro (2-0) pitched two scoreless innings to help the Pirates beat the Brewers for the just the second time in their last 12 meetings. Milwaukee had won five straight games at PNC Park.
Ryan Braun had three hits, including a pair of doubles, for the Brewers.
DODGERS 2, NATIONALS 0
LOS ANGELES (AP) — Clayton Kershaw scattered five hits while striking out 11 in 8 2-3 innings, and Andre Ethier delivered a two-run single as the Dodgers beat the Nationals.
Kershaw (4-2) picked up his first win since April 28 but had to escape a bases-loaded jam in the first inning. He did so by striking out Tyler Moore.
The Dodgers scored their only runs in the third inning after Kershaw walked and Matt Kemp singled. Both runners advanced on a wild pitch and scored on Ethier's single to centre.
Nationals pitcher Dan Haren (4-4) was looking to secure his fourth consecutive win but a troublesome third inning turned out to be costly.
PHILLIES 6, INDIANS 2
PHILADELPHIA (AP) — Jonathan Pettibone pitched neatly into the seventh, Kevin Frandsen and Domonic Brown hit solo homers and the Phillies beat the Indians.
John Mayberry Jr. had three hits and three RBIs, including a go-ahead two-run double for the Phillies, who won their third straight game to get within two wins of .500.
Pettibone (3-0) allowed two runs and four hits in 6 2-3 innings, the longest of his five career starts. Three relievers got the next four outs and Jonathan Papelbon finished in a non-save situation after Philadelphia tacked on two runs in the eighth.
The Phillies improved to 12-4 when Pettibone, Kyle Kendrick or John Lannan start. They're 7-16 in games started by the $64.5 million trio of Cole Hamels, Roy Halladay and Cliff Lee.
Cleveland's Scott Kazmir (2-2) gave up four runs and six hits in five-plus innings.