Alfredo Morelos netted his 10th Europa League goal of the season as an impressive Rangers drew in Porto.
Morelos levelled a minute before half-time after a brilliant assist from left-back Borna Barisic.
The striker's Colombia team-mate, Luis Diaz, had given the hosts the lead from long range eight minutes earlier after clinically punishing Ryan Jack's slack pass during a spell of pressure from the hosts.
But that was a rare period of anxiety for around 3,000 travelling fans, who made their presence felt among the 31,307 crowd in the Estadio do Dragao.
Rangers produced some excellent passing moves and were the more dangerous side after the interval with Morelos being denied in style by the home goalkeeper Agustin Marchesin, although Allan McGregor's late double stop ultimately earned the visitors their fourth point in the group.
Steven Gerrard handed Brandon Barker and Ryan Kent their second starts of the season, while Filip Helander vindicated his surprise recall with a towering display in central defence.
Barker and Kent lined up in fairly central positions and the latter twice threatened to get away in the opening moments, once checking his run after Barker's pace and pass had looked like sending him through and then being halted by the last man after a breakaway.
There was more evidence of space inside the Porto half when Barisic got away down the left after a good first-touch move only for his cross to be diverted away from Morelos with Porto stretched.
The Croatian looked less assured defensively in the early stages and was booked for hauling down Jesus Corona but Porto only threatened with a couple of crosses in the opening quarter.
Morelos set up James Tavernier with a brilliant switch to find the right-back in yards of space but the captain volleyed well over from 20 yards.
The Colombian soon inadvertently set up a chance at the other end after gifting possession to Moussa Marega, who was stopped by Jack at the expense of a yellow card and free-kick 20 yards out. Alex Telles curled over.
Porto kept up the pressure. Ze Luis headed off the outside of the post from a Telles cross and Barker got away with a clumsy penalty-box challenge on Corona after being caught out by a short corner with the hosts' spot-kick claims being waved away.
Rangers could not get out though and Diaz intercepted Jack's pass and fired into the far top corner from 25 yards.
The visitors' response was immediate. Pepe cleared well as Barker attacked Tavernier's cross and Morelos headed against the crossbar from the resulting corner.
The 22-year-old found his range moments later after Kent's flick-on found Barisic in yards of space high up the flank. The full-back delivered a low first-time cross right into the feet of Morelos, who took a touch and fired high into the net.
Rangers came close to netting from the same source early in the second half. Morelos met another brilliant cross with an emphatic header but Marchesin produced a stunning save.
The visitors began to dominate possession and came close after two Tavernier free-kicks, Jack firing just over from 20 yards before Morelos failed to reach a dangerous back-post delivery.
Barisic curled a yard over from a free-kick after Pepe was booked for bringing down Morelos but McGregor came to Rangers' rescue in the 85th minute with saves in quick succession from substitutes Francisco Soares and Shoya Nakajima.