Lannan worked eight innings and allowed a run each of his two previous starts. He was pitching on 10 days' rest.
The Phillies were held to one hit before bunching three singles the first four at-bats of the fifth, with Carlos Ruiz getting the RBI, but pinch hitter John McDonald grounded into an inning-ending double play.
Robinson's bases-clearing triple capped a five-run fifth against rookie J.C. Ramirez that broke the game open. Robinson's sinking liner bounced in front of and then over diving center fielder Mayberry and the Cardinals also had three doubles in the inning with Adams and David Freese getting RBIs.
Manuel said Mayberry has "got to keep the ball in front of him."
"He can't dive," the manager added. "I talked to him about it, but he knows."
Brock Peterson got his first career hit on an RBI single in two-run eighth for St. Louis.
NOTES: Lance Lynn (11-5, 4.13) has lost consecutive starts while giving up 10 runs on 17 hits in 9 1-3 innings entering the finale against Kyle Kendrick (9-6, 3.94). Kendrick is 5-1 with a 2.72 career ERA against St. Louis. ... The Cardinals scored on a pair of softly-hit balls in the third, Carpenter's leadoff infield hit and Molina's two-out bloop RBI single. ... A sellout crowd of 44,317 was the 18th sellout and put the Cardinals over 2 million attendance for the 18th straight season. ... Tony Cruz had an infield hit in the eighth in his first appearance since the break for St. Louis.