Molina finished 2 for 4 and his solo homer in the sixth gave the Cardinals plenty of cushion as they bounced back from a 12-2 loss on Friday night by jumping on Pittsburgh ace Francisco Liriano (0-1) early.
St. Louis used a three-run first inning to put the Pirates in an early hole then held on as Joe Kelly (1-0) wiggled his way out of trouble. The right-hander worked 5 1-3 innings, walking four and striking out four in his first start of the season.
The Pirates left 11 runners on base, including seven in the first four innings.
Liriano, who struck out 10 in six innings on opening day against the Cubs, settled down after early trouble. The left-hander gave up four runs on seven hits in six innings, walking two and striking out four.
It wasn't exactly a repeat of the last time Liriano faced St. Louis, when he held the Cardinals in check in Game 3 of the NL division series to give the Pirates a 2-1 lead in the best-of-five series. The Cardinals rallied to take the series in five, though six months later it appears the clubs that finished one-two in the NL Central remain evenly matched. The teams have now split the last 26 meetings.
The Cardinals didn't give Liriano time to settle in on a brisk night at PNC Park.
Matt Carpenter led off with a single. Peralta walked and Matt Holliday followed with an RBI single to right. Peralta scored on a sacrifice fly by Allen Craig, with Holliday scoring on a perfectly placed single to left by Matt Adams.
The Pirates had their chances to get back in it against Kelly. They loaded the bases in the third but managed only a single run when Kelly walked Russell Martin.
Pittsburgh had two on with two outs in the fourth and two one with one out in the sixth against Kelly but couldn't come through. St. Louis reliever Carlos Martinez replaced Kelly and retired Starling Marte and Travis Snider on groundouts to end the threat.
The Cardinals' bullpen didn't give up a hit in 3 2-3 innings of work.
Molina provided insurance with a homer to right and Peralta's second home run with the Cardinals slipped inside the left field foul pole against Pittsburgh reliever Jeanmar Gomez in the ninth.
NOTES: Marte went 1 for 5 and has reached base in each of his 17 career games against St. Louis. ... St. Louis reliever Jason Motte, who is recovering from Tommy John surgery on his right elbow, participated in a simulated game in Florida on Saturday. Manager Mike Matheny said the team doesn't have a pre-determined role set for Motte, who saved 42 games in 2012 before the injury. ... The series concludes on Sunday when Adam Wainwright (1-0, 0.00) is set to go for St. Louis against Edinson Volquez (0-0, 0.00), who pitched two innings of relief in a loss to the Cubs on Thursday.