Talisman Alfredo Morelos scored for the third European match in a row to break the deadlock in the 69th minute and then turned provider for Steven Davis.
The quick-fire double lit up a contest that had been meandering towards another draw, the sides having shared the spoils in a 1-1 result in Portugal last month.
And the three points takes Steven Gerrard's men level at the top of the pool with Young Boys on seven apiece, three ahead of Porto and Feyenoord.
It was for the most part a game of few chances and scant entertainment at Ibrox, although it could have panned out very differently had Glen Kamara not acrobatically cleared Pepe's early effort off the line.
The hosts created precious little in a scrappy first half and wasted a rare opening just before the break as Brandon Barker blasted over from James Tavernier's cut-back.
Veteran defender Pepe was forced off with an injury just a few minutes into the second half but Rangers still struggled to test the visiting back line.
A speculative long-range strike from Ryan Kent flew wide, before the same man called Agustin Marchesin into action soon after, the goalkeeper diving low to his right to tip an effort around the post.
Then came the game's decisive spell, Morelos – who also scored at Porto – expertly picking out the bottom corner and then finding Davis for him to do the same shortly after.
It proved a telling one-two punch from which the visitors failed to recover as Porto's winless run on the road in the Europa League was stretched to eight games.