Two goals from defenders and a third from fired-up Ronald de Boer gave Rangers a useful lead to take to Moscow next month.
But a stoppage-time strike from Rolan Gusev gave Dynamo Moscow a late life-line and real hope that they can pull the tie back on their home ground next month.
The mid-table Russians were looking a beaten side in the Ibrox first-leg of their UEFA Cup second-round showdown once Lorenzo Amoruso and substitute Michael Ball were both on the scoresheet.
De Boer's third looked to be confirmation that the tie was almost Rangers' but Gusev's late riposte will have shattered any complacent feelings in the home crowd.
Amoruso is so infrequent a scorer that the bookies offered odds of 18-1 on him hitting the back of the net first and Ball, who replaced Craig Moore at half-time, marked his European debut with his first Rangers goal.
RANGERS: Klos, Moore (Ball 45), Konterman, Amoruso, Ricksen, Reyna, Ferguson, Numan, Caniggia, de Boer, Flo (McCann 67). Subs Not Used: Christiansen, Kanchelskis, Latapy, Ross, Vidmar. Booked: Reyna. Goals: Amoruso 9, Ball 61, de Boer 80.
DINAMO MOSCOW: Khomutovski, Semberas, Zharinov, Zchutautas, Hornyak, Gusev, Tochilin (Eugeni Kharlachev 81), Nemov (Medvedev 45), Grishin (Dyatel 87), Bystrov, Boulykin. Subs Not Used: Kramarenko, Novikov, Klyuev, Chesnauskis. Booked: Tochilin, Zharinov, Zchutautas. Goals: Gusev 90.
Referee: Stephane Bre (Bretagne).