The 33-year-old Hudson needed to pass a physical exam.
He spent the 2010 season with the Minnesota Twins and hit .268 with six home runs and 37 RBIs. He replaces David Eckstein, who became a free agent.
"We're thrilled to get him here to San Diego," general manager Jed Hoyer said. "Our focus at the beginning of the offseason was really to strengthen ourselves up the middle. I think with the addition of Cameron Maybin, Jason Bartlett and now, Orlando, we feel a ton better about our team up the middle. Orlando is a proven winner, a four-time Gold Glove winner and I think he's going to bring a ton of offense to our team, a ton of defense and a ton of energy."
Maybin, the center fielder, was obtained from Florida earlier in the offseason and Bartlett was obtained from Tampa Bay last week.
"It's a great young team," Hudson said. "I saw what they did last year and I'm glad to be a part of it now."
The Padres were in contention until the last day of the season.
Hudson said the security of the deal "definitely means a lot and so does coming to San Diego, this ballpark, this great place."
He said he's looking forward to playing with Bartlett.
"Bartlett wasn't an All-Star for no reason," Hudson said. "We'll get a few days early in the spring, go out there and have fun, take a couple of fungos and before you know me and Bartlett will be right on time."