Harkins gave the Jets a 1-0 lead 2:46 into the first period with a wrist shot from the left face-off circle after taking a drop pass from Dominic Toninato.
Oskar Steen tied it 1-1 at 11:37 from in front of the crease after Coyle's shot went off Jets defenseman Josh Morrissey's skate.
Copp made it 2-1 with 26 seconds left when Mark Scheifele's centering pass went in off his skate.
Coyle tied it 2-2 at 2:31 of the second period, deflecting Derek Forbort's shot from the point.
"If you want to be a good team, you need contributions from everyone, and tonight [Coyle's line] did their job, and then some, offensively," Cassidy said. "I liked all three of [Steen, Coyle and Jake DeBrusk]. They were a big part of our win. Again, it's always good for team building and success when different lines contribute, and they were certainly, I would say, our best tonight."
Jets captain Blake Wheeler returned to the lineup after missing nine games with a knee injury. The forward had two shots on goal in 21:39 of ice time.
"I didn't think today was going to be a game that I would be playing in, so it was good to be back for sure," Wheeler said. "I think there was a lot of good in that game for our team. One shot away really from that looking like a pretty darn good road win. Unfortunately, there's no moral victories right now. We need to win games. So that was a tough way to lose."
NOTES:Pastrnak scored his 11th goal in 12 games this month, the fourth time he has scored at least 11 goals in a calendar month (October 2018, 11 goals; October 2019, 12 goals; November 2019, 12 goals). ... Copp extended his point streak to five games (three goals, three assists), tying his NHL high set last season from Jan. 19-26, 2021 (four goals, five assists). He has scored 11 goals in 37 games this season, four shy of his personal best set last season (15 in 55 games).