The deal is reportedly worth two years and $26 million.
The Giants sent their top pitching prospect, Zack Wheeler, to the Mets on July 28 of last season to acquire Beltran in hopes of improving their offense enough to make a repeat run at the NL West division title.
But a severely strained right wrist forced Beltran to the disabled list in August and the Giants’ offense never really recovered.
Despite the wrist injury in August, an ankle bruise in June, and tightness in his left hamstring in May, Beltran still managed to log 142 games between the New York Mets and San Francisco Giants last season. He finished the season with a .300/.385/.525 (0.910 OPS) slash line to go along with with 22 HR and 84 RBI.
Beltran will most likely play right field for the Cardinals, with Lance Berkman moving to first base.