The veteran defenceman has signed a US$7.5-million, two-year contract with the Dallas Stars.
Oduya will count $3.75 million against the salary cap through the 2016-17 season.
The two-time Stanley Cup-winner with the Chicago Blackhawks was considered among the best free agents available.
The 33-year-old Swede replaces Trevor Daley on the Stars' blue line that also includes Alex Goligoski, John Klingberg and Jason Demers.
Dallas traded Daley to the Blackhawks in the Patrick Sharp deal.
Oduya has played 664 NHL games for the New Jersey Devils, Atlanta Thrashers/Winnipeg Jets and Blackhawks.
"Johnny is a steady, veteran presence on the blue line and he'll complement our group nicely," Stars general manager Jim Nill said. "He has achieved a great deal of success, winning the Stanley Cup twice, and his championship-mentality will be valuable in our room."
Oduya's deal includes a modified no-trade clause.