The Colombian produced a brilliant touch and finish with his left foot in the 69th minute to take his season tally to 21 – 11 of them in Europe and three of them in four group matches.
The striker then set up Steven Davis to fire home via a deflection and move Rangers level on seven points with leaders Young Boys in Group G and three ahead of Porto and Feyenoord.
Rangers gradually got on top after a slow start to make it a memorable night for Scottish football following Celtic’s win at Lazio, although they needed two goal-line clearances to prevent their opponents taking the lead.
Steven Gerrard’s men went into the game in confident mood after an impressive display in a 1-1 draw in Portugal two weeks ago and the Rangers boss picked the same 11.
Gerrard had called for his players and fans to put the pressure on from the start but it was Porto who made the brighter beginning.
Sergio Conceicao’s team had silenced the sell-out crowd before Glen Kamara cleared Pepe’s flick off the line following an eighth-minute corner and striker Francisco Soares soon sent a free header wide.
Borna Barisic looked vulnerable in the opening stages but Rangers settled and finally gave the left-back the chance near the half-hour mark to show the crossing ability which set up Morelos to level in Portugal. However, James Tavernier and Ryan Kent both made a mess of their shots in quick succession.
The Light Blues soon produced the kind of pressing Gerrard had demanded and forced a turnover of possession that could have led to a goal had Otavio not produced a brilliant interception to stop Kent’s ball reaching Morelos.
Rangers continued to make small improvements and their best first-half chance came in stoppage-time when a return pass from Davis allowed Tavernier to cut back for Brandon Barker, but the winger skied his effort from 15 yards.
Porto lost Pepe to injury inside four minutes of the restart and Rangers continued to grow into the game, finding good rhythm to their passing before Kent forced a decent stop on the hour mark with a turn and shot from 20 yards.
Morelos headed wide under pressure following a Barisic free-kick but there was a scare for Rangers when Wilson Manafa arrived unmarked at the back post before Connor Goldson cleared his effort off the line.
However, they took the lead two minutes later. Tavernier engineered a pass to Ryan Jack in room on the right wing and the midfielder picked out the only blue shirt in the box. Morelos did not have much space but he killed the ball and arrowed a left-footed strike inside the far post from 16 yards.
Morelos turned provider when he held up the ball near the byline and rolled it into the path of Davis. A deflection fooled the Porto goalkeeper after the Northern Ireland midfielder drilled a shot from 20 yards.
Rangers defended well as Porto threw the ball into the box on several occasions as they held on to clinch victory.