The 36-year-old left AS Roma after the expiry of his contract, being replaced as first-choice keeper by Mile Svilar when Daniele De Rossi took over as manager.
Patricio has earned 108 caps for Portugal and was part of the team that won the 2016 European Championship.
Atalanta announced the signing hours after goalkeeper Juan Musso moved to Atletico Madrid on loan until the end of the season.