The deal came three days after the Braves lost Freeman to a broken left 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 (.748) when he was hurt, hitting .341 with 14 home runs.
Braves general manager John Coppolella said Adams will be valuable to the Braves beyond the immediate future.
"He's also played left field," Coppolella said. "He's a good bat off the bench. He will help us even when Freddie Freeman comes back to the Braves."
Adams said he's looking at the trade as the best thing for his career.
"I'm going to be able to play every day," Adams said. "But I can't say enough about the Cardinals and thank the Cardinals for the opportunities they gave me. It was a great run."
The 28-year-old Adams made his major league debut with St. Louis in 2012. He is a career .271 hitter with 56 home runs and 271 RBIs.
Adams hit .292 with a homer and seven RBIs coming off the bench this season and playing some in the outfield.
Utility player Jace Peterson was the Braves' first choice to take over at first base. Coppolella and president of baseball operations John Hart said the team had no first basemen in the minors ready to start in the majors.
Earlier this month, the Braves released aging slugger Ryan Howard from their Triple-A affiliate.
Coppolella said Adams is expected to join the team in time for Sunday's game against Washington. He will be expected to handle the position, at least against right-handers.
"He will have a chance to play a bunch early," Coppolella said. "We will face all right-handers the rest of the homestand."
The Braves signed veteran James Loney to a minor league contract on Thursday as insurance.
"We wouldn't have signed James Loney if we thought the trade would happen," Coppolella said. "Now that we had a chance to get a player like Matt Adams, we feel it's a way to make our club better right now."
A move involving Adams had been speculated since spring training after Matt Carpenter was picked to start at first base.
"When you looked at how our roster was constructed it was really hard for us to give Matt plate appearances," Cardinals general manager John Mozeliak said. "Clearly moving Carp to first, and with the dynamics of plate appearances, this ultimately made sense today."
Yepez, 19, was hitting .275 with 15 RBIs in 35 games at Class A Rome. He was assigned to Class A Peoria.
"We hate to trade prospects, but this was something for our players, for our fans," Coppolella said. "I think our ownership really stepped forward here to take on money and get a really good player. We're trying to win right now."
The Cardinals also activated outfielder Stephen Piscotty from the disabled list. He'd been out with a strained right hamstring.
Atlanta also added bullpen depth on Saturday by acquiring right-hander Enrique Burgos, 26, from Arizona for cash considerations. Burgos will report to Triple-A Gwinnett.