"Any negotiation, like I've always said, it takes its own life with some twists and some turns," Jets general manager Kevin Cheveldayoff said. "Again, it's about getting to the destination, and we're excited that we were able to agree to terms today."
Laine, who was a restricted free agent, missed training camp and five preseason games. He is returning from Switzerland, where he was training with SC Bern while contract talks continued.
The 21-year-old forward scored 110 goals in the past three seasons, sixth in the NHL.
"We're dealing with an elite player here," Cheveldayoff said. "If you look at his stats, what he's accomplished at 18, 19 and 20 years old, there's not many players that have done that. Again, that's the uniqueness of the situation here.
"That's what makes it most exciting for us with Patrik, that I think we're just starting to scratch the surface of what he actually brings to the table here. We've got an opportunity here to see it all unfold in front of our eyes. We're a team that's growing, a team that's maturing."
Winnipeg, still without restricted free agent forward Kyle Connor, needs a few more good-news days like this.
An early exit from the Stanley Cup Playoffs, in six games against the St. Louis Blues in the Western Conference First Round, began a downward trend in April, ending a season of high expectations after the Jets reached the Western Conference Final in 2018.