The team announced the deal Wednesday.Butler provides the A's a right-handed bat with power who can also play first base.
The Kansas City Royals previously paid Butler a $1 million buyout rather than exercise their $12.5 million option on his contract for the 2015 season, making him a free agent for the first time in his eight-year career.
Butler, 28, hit .271 with nine home runs and 66 RBIs this past season, his eighth with the Royals after they drafted him with the 14th overall pick in the 2004 draft.
Butler, an All-Star in 2012, helped Kansas City reach the postseason this year for the first time since 1985. He hit .262 with eight RBIs in the Royals' 13 postseason games before they fell to the San Francisco Giants in seven games in the World Series.
The Royals eliminated Oakland in their postseason opener, rallying from three runs down late in the American League wild-card game to win in 12 innings. Butler contributed two hits and two RBIs. The Royals then swept the Angels in the AL Division Series and the Orioles in the AL Championship Series.
He played first base in 37 games this past season but was predominantly a designated hitter (108 games).
The career .295 hitter also won a Silver Slugger Award in 2012.
Oakland used several players at first base this year, including catcherStephen Vogtwhen he was dealing with a foot injury that required surgery after the season.
The Associated Press contributed to this report.
Buster's Blog: Butler Heads West
Buster Olney takes a look at Billy Butler's new three-year, $30 million deal with the Oakland Athletics and ponders who could be the next free agent to sign.