Adam Wainwright continued his steady march toward the regular season, giving the Cardinals 4 2/3 innings of two-run ball on Thursday in a 3-2 win over the Mets at Tradition Field.

St. Louis' Opening Day starter walked three, struck out three and allowed three hits. One of the hits was a two-run triple to Mets center fielder Matt den Dekker, who had his second consecutive game with an RBI triple.

The Cardinals took a 1-0 lead on Wainwright's RBI single in the second off Mets starter Jeremy Hefner that scored Pete Kozma, who was 2-for-3. David Freese's solo homer in the fourth made it 2-0.

Hefner was otherwise solid, striking out four over five innings with three walks. It was not until the eighth inning, facing Mets reliever Brandon Lyon, that Allen Craig singled home Matt Holliday to reclaim the lead for St. Louis.

With Johan Santana battling shoulder weakness and still not close to appearing in a game, Hefner will begin the regular season in the starting rotation. That will give him a measure of stability he lacked last year, when many of Hefner's 13 starts came on either short rest or short notice.

As long as Santana remains sidelined, Hefner will start every fifth game.