Source: Cardinals sign Felipe Lopez
The deal is still pending the completion of a physical, the source said.
Lopez batted .310, with a .383 on-base percentage, last season for the Diamondbacks and Brewers. The only other free agent on the market this winter who matched or beat him in both of those categories was Matt Holliday.
ESPN.com's Jayson Stark reported that Lopez fired his agent, Scott Boras, and signed on with the Beverly Hill sports Council on Feb. 12.
The 29-year-old Lopez was reportedly disgruntled over still finding himself without a team, just days before the beginning of spring training.