Predators general manager David Poile announced the deal Monday.
Ekholm, 25, is a restricted free agent who has a goal and two assists in eight games this season. The 6-foot-4, 215-pound defenseman has 30 points and 66 penalty minutes in 153 career games. He doubled his rookie production last season with 18 points and had a plus-12 rating.
The 102nd overall pick in 2009, Ekholm made his postseason debut last spring. He played in all six games against the Chicago Blackhawks and tied for the team lead with a plus-4 rating while averaging 26:25 of ice time.