The right-hander was acquired by Toronto in a trade with Miami last offseason but went 2-8 with a 6.20 ERA 16 appearances. He missed significant time with a triceps injury.
The 29-year-old Johnson had arthroscopic surgery to remove a bone spur in his elbow at the end of the season. He made his big league debut with the Marlins in 2005 and has a career record of 58-45 with a 3.40 ERA.
A two-time All-Star, Johnson led the NL with a 2.30 ERA in 2010. He made only nine starts for the Marlins in 2011 and finished 8-14 with a 3.81 ERA in 191 1/3 innings the following season.
In addition to his base salary, Johnson would earn a $1.25 million bonus for making 26 starts.
General manager Josh Byrnes said the Padres decided that if they could find a starter who had the chance to a difference-maker, they were going to pursue him.
"Here's a guy who led the league in ERA who has been a dominant pitcher," Byrnes said. "We know there's risk in any signing but we're very excited about the upside, what he can bring and now what our rotation can do to deliver us toward our goal. We want to be an October team. We really feel like the evolution of our starting pitching and bringing in Josh, we've taken a big step in that direction over the last 12 months."
Johnson did not receive a qualifying offer from the Blue Jays, so the Padres will not have to give up a draft pick in exchange for signing him.
San Francisco, Pittsburgh and Kansas City were among the other teams that expressed interest in Johnson. The pitcher had targeted the Padres and Giants as his top two choices and turned down bigger one-year offers to sign with San Diego, said a source.
Johnson said the top teams on his list were the Giants and Padres, and that he and his agent jumped at the first good offer.
"Every time you come in here you want to stay here," Johnson said. "The park's great, the city's great, so those two things, that's pretty much what you want. It's a great park to pitch in. That and the staff, and then the team, it's a perfect fit."
While not saying who is going to be the No. 1 starter, manager Bud Black said he envisions Johnson fitting in at the top of the order along with Cashner and Ross.
"He's done it in the past," Black said. "Obviously he's had some great performances."
Information from ESPN.com's Jerry Crasnick and The Associated Press was used in this report.