ST. LOUIS -- Carlos Beltran and the World Series champion St. Louis Cardinals agreed to a two-year contract pending results of a physical, a move that would fortify the team's lineup following the departure of Albert Pujols.
The team disclosed the agreement Thursday night and said it expects to make a formal announcement shortly after the holidays.
The $26 million deal includes a full no-trade clause, a source told ESPN.com's Jerry Crasnick.
The 34-year-old Beltran batted .300 with 22 home runs, 84 RBIs and a .385 on-base percentage for the New York Mets and San Francisco Giants this pastyear. He likely will be the Opening Day right fielder for the Cardinals next season. Lance Berkman is expected to move to first base, taking Pujols' spot.
Beltran and Berkman are switch-hitters, giving new manager Mike Matheny lineup flexibility.
Earlier this month, St. Louis re-signed shortstop Rafael Furcal to a two-year, $14 million contract and added left-handed reliever J.C. Romero with a one-year, $750,000 deal. The Cardinals appear to need only a few spare parts to finalize the roster.
After Pujols signed a $254 million, 10-year contract with the Los Angeles Angels, Cardinals chairman Bill DeWitt Jr. said he expected his team's payroll to perhaps exceed this year's total of $110 million.
Allen Craig, coming off an impressive postseason, gives the Cardinals another strong option in the outfield but will miss at least the first month of the season while recovering from knee surgery.
A six-time All-Star, Beltran began his career with the cross-state Royals in 1998, three years after Kansas City drafted him in the second round. The switch-hitter has a .283 career batting average with 302 home runs and 1,146 RBIs.
"Beltran is a proven outfielder who obviously has been a tough opponent against the Cardinals for many years," St. Louis general manager John Mozeliak said in a statement. "It is going to be nice to have his bat and competitive nature working for us instead of on the other side of the field for the next couple of years."
Beltran faced the Cardinals in a pair of NL championship series, in 2004 with Houston and 2006 with the Mets. St. Louis won both series despite several big hits by Beltran.
With a chance to put the Mets in the World Series, however, he struck out looking to end Game 7 of the 2006 NLCS against Cardinals right-hander Adam Wainwright.
ESPN.com senior baseball writer Jerry Crasnick and The Associated Press contributed to this report.