The Cardinals sent Adams and cash to Atlanta for minor league infielder Juan Yepez. The deal came Saturday, three days after the Braves lost Freeman to a broken wrist.
Freeman was expected to miss 10 weeks after being hit by a pitch from Toronto's Aaron Loup. Freeman was leading the majors in slugging percentage when he was hurt, hitting .341 with 14 home runs. The Braves had signed James Loney to a minor league contact as insurance.
Adams hit .292 with a homer and seven RBIs coming off the bench this season and playing some in the outfield. A move involving the 28-year-old Adams had been speculated since spring training after Matt Carpenter was picked to start at first base.
The 19-year-old Yepez was hitting .275 with 15 RBIs in 35 games at Class A Rome. He was assigned to Single-A Peoria.
The Cardinals also activated outfielder Stephen Piscotty from the disabled list. He'd been out with a strained right hamstring.