The Mariners have been looking to trade Saunders, who turned 28 last month, since the end of the season after Saunders took umbrage to remarks by general manager Jack Zduriencik.
Saunders has also battled a variety of injuries over the last three seasons. He played in only 78 games this season, batting .273, with a .791 OPS and eight home runs.
Happ, 32, went 11-11, with a 4.22 ERA, in 28 starts for the Blue Jays this year. He provides rotation depth for a Seattle team that has been trying to trade for an outfield bat, such as Atlanta's Justin Upton, and might have to deal a young starter such as Taijuan Walker or James Paxton to obtain one.
"We feel that J.A. is a nice fit to slide in to our rotation in 2015," Zduriencik said in a statement. "They say you can never have enough starting pitching, and it is especially true that you can never have enough quality starting pitching. Pitching is our foundation here, and Happ will help us in that area."