Rangers manager Walter Smith made two changes from Saturday's Old Firm victory over Celtic.
Brahim Hemdani returned to his midfield holding role in place of Christian Dailly and Sasa Papac was installed at left-back as Steven Whittaker dropped to the bench.
Jean-Claude Darcheville started as Rangers' lone striker, playing his first European tie following a three-match suspension after being sent off against Lyon in the Champions League in December.
The visitors started with a twin strike force of Simon Vukcevic and their Brazilian star Liedson. Sporting's green and white hooped jerseys ensured a hostile reception from the home fans.
But, as expected, they were comfortable in possession and took the game to Rangers in the opening minutes without really troubling goalkeeper Allan McGregor.
Darcheville embarked on a trademark run after six minutes, powering his way past several hooped jerseys, but when the ball broke for McCulloch 30 yards out his wild left-footed drive flew well wide.
Sporting were spraying the ball around with flair and imagination but Rangers chased and harried and eventually carved out the better scoring chances.
Three minutes before the break McCulloch spun on the edge of the box and pinged a right-footed shot towards goal, but Rui Patricio got down superbly to palm the ball round the post.
The next threat again came from McCulloch as he got above Abel in the Sporting box, but his header was deflected wide as the first half fizzled out goalless.
As the second half got under way Barry Ferguson's neat pass picked out Darcheville on the left and the Rangers skipper surged into the box for the return ball, but the Frenchman's cross just eluded Ferguson's head and the chance was gone.
Steve Davis ran onto another incisive through ball from Ferguson but his 25-yard shot soared over the bar.
Sporting launched a speedy counter-attack and Grimi galloped the full length of the pitch unchallenged before firing a vicious drive narrowly wide.
Papac curled a searching cross into the Sporting danger area on 68 minutes after Darcheville had spotted his overlapping run on the left but Grimi headed out for a corner.
McCulloch got on the end of Davis's resultant set piece but his header bounced harmlessly wide.
Neither side looked likely to break the deadlock, although Rangers introduced Nacho Novo for Darcheville with 20 minutes to go in an attempt to force a lead to take to Portugal.
As the home side tired towards the end Liedson burst into the Rangers penalty area but Davis's determined tracking run was enough to put the striker off and McGregor came out to gather.
Tonel's header then went inches past McGregor's left-hand post from a corner as Sporting finished strongly.
Bookmark with:
What are these?