Madrid appeared comfortably on course for a shot at winning a 10th European Cup when Ronaldo scored in the seventh minute - his 10th goal in this season's competition - with a close-range strike after Sami Khedira knocked in a low cross from the right.
Emmanuel Eboue put Galatasaray level on the night in the 57th, rifling home from the edge of the area after a pull back from Wesley Sneijder who put them ahead in the 70th when he sent the ball between Raphael Varane's legs before a neat finish.
Two minutes later, Drogba extended Galatasaray's lead to 3-1 with a delightful back heel inside the area from Nordin Amrabat's cross before Ronaldo added his second in the third minute of injury time after being set up by Karim Benzema.