Morris, who came on at halftime, scored in the 62nd minute to pull the Sounders level after Chicago's Robert Beric tallied in the opening minute of the second half.
The winner came in the third of six minutes of stoppage time. Newcomer Joao Paulo's corner kick found Cristian Roldan at the top of the 6-yard box. He flicked a header to Morris, who was positioned near the left post, and his header from short range left Fire goalkeeper Kenneth Kronholm with no chance.
Morris scored the tying goal after defender Kelvin Leerdam worked the ball down the right wing and chipped a pass ahead to Roldan near the end line. Roldan's cross went through the legs of one defender and Morris beat another to the ball before putting it over Kronholm from the top of the 6-yard box.
After a scoreless first half, Beric gave the Fire a 1-0 lead less than 45 seconds after the intermission. Midfielder Alvaro Medran chipped a pass over the defense at the top of Seattle's 18-yard box. Djordje Mihailovic chested the ball to the feet of Beric on the right wing, whose low, 15-yard shot beat Sounders goalkeeper Stefan Frei and made its way just inside the right post.
Morris created several opportunities for the Sounders.
An apparent goal by Roldan, set up by Morris, was disallowed in the 56th minute by video review as it was determined Morris was offside when he received the ball.
In the 72nd minute, Morris gained control of the ball near midfield and lifted it over Chicago's defensive line, springing Leerdam and Raul Ruidiaz on a two-on-one breakaway. Leerdam dribbled to the penalty spot, drawing a defender and the goalkeeper to him, before making a pass to Ruidiaz on the left side. The ball was just a little behind the striker and he pulled an 8-yard shot just wide of the near post.
The Fire had two goals, by Beric and Mihailovic, disallowed by offside calls in the first half, in the 29th and 36th minutes, respectively.
Morris' late winner lifts Sounders
Jordan Morris nets both goals in Seattle's 2-1 win over Chicago Fire. Watch MLS on ESPN+.