Profar also receives two opt-out clauses as part of the deal, according to Jon Heyman of MLB Network.
Profar hit .278/.343/.428 with seven home runs and 25 RBIs in 56 games for the Padres last season.
A shortstop by trade, Profar has carved out a niche as a utility player over the past several seasons. He spent most of last year playing left field while occasionally spelling Jake Cronenworth at second base.
Profar also drew interest from the Kansas City Royals during the offseason. The Boston Red Sox also pushed hard to sign the 27-year-old before he returned to San Diego, according to Heyman.