The A's got Johnson on Monday for infielder Jemile Weeks and a player to be named, capping a busy day for general manager Billy Beane.
The teams announced the trade late Monday.
Balfour became a free agent after the season and is expected to command a multiyear deal. While Beane expressed confidence he could fill the ninth-inning duties from within, he opted for a trade -- a common December practice for the GM and low-budget club.
The 30-year-old Johnson converted 50 of 59 save opportunities in 2013, going 3-8 with a 2.94 ERA. He was tied with Atlanta's Craig Kimbrel for the major leagues saves lead.
Johnson, who led the majors with 51 saves in 2012, earned $6.5 million in base salary this year. He also made a $25,000 bonus for finishing at least 55 games, leading the majors with 63.
Also Monday, free-agent left-hander Scott Kazmir agreed to terms on a $22 million, two-year contract with Oakland, a person with knowledge of the negotiations said.
The deal is pending a physical. The person spoke on condition of anonymity because the team hadn't made a formal announcement.
The A's reached agreement on a $600,000, one-year contract with right-hander Fernando Rodriguez. He was one of nine arbitration eligible players -- and all were tendered contracts for the 2014 season, including first baseman Daric Barton. Barton is the team's longest-tenured player and will provide infield depth.
Baltimore on Monday tendered a $1.025 million, one-year contract to outfielder Nolan Reimould and an $850,000, one-year deal to outfielder Steve Pearce.