Pineiro (3-0) allowed six hits and two runs to win his third straight start at the opening of the season. He retired 13 straight batters beginning with the final out in the fourth..
Reyes retired two batters, but also gave up a run-scoring double to Carlos Beltran before Ryan Franklin came on to pick up a one-out save -- his fourth of the year.
The Cardinals won their second straight game and the Mets lost their third in a row.
Pujols delivered a sacrifice fly in the first and put the Cardinals in front for good in the third with an RBI single.
John Maine (0-2) gave up seven hits and five runs with five walks over 5 2/3 to take the loss.