The 27-year-old defenseman could have become an unrestricted free agent Oct. 9.
He had 10 assists in 49 games with the Ottawa Senators this season and no points in 10 games after he was traded to Winnipeg on Feb. 18. DeMelo did not have a point in four games during the best-of-5 Stanley Cup Qualifiers, when the Jets were eliminated by the Calgary Flames.
"When I got traded, I was given an amazing role and great responsibility of playing top-four minutes, a [penalty-killing] role and against other teams top lines," DeMelo said. "It was something that I did in Ottawa and something that I feel I'm capable of doing."
DeMelo has been traded twice since September 2018 and said the opportunity to establish himself in one city was important to him.
"I've been looking for stability," he said. "I've been with three teams in three or four years here. Not just for me, but for my wife, my family. We're expecting our first child in January and we're looking to plant some roots.
"The fit is just really good in Winnipeg. I felt really confident in my role there and with the group of guys, it's a good team and we're going to be a good team for a long time. I couldn't be happier to be back in the fold."
Selected by the San Jose Sharks in the sixth round (No. 179) of the 2011 NHL Draft, DeMelo has scored 64 points (seven goals, 57 assists) in 269 regular-season games with the Sharks, Senators and Jets. He has one assist in 14 Stanley Cup Playoff games.