Rangers ran out comfortable winners in the end but this was an unconvincing victory for the Ibrox side. An early goal from Ronald de Boer should have settled the home team but it was not until Shota Arveladze netted midway through the second half that victory was assured.
Substitute Peter Lovenkrands who had come on for de Boer with 15 minutes remaining struck near the end to give the rather flattering scoreline in favour of the Ibrox side.
Dundee nearly snatched the opening goal when Nacho Novo outpaced Lorenzo Amorusu but Juan Sara wasted the chance.
From the first corner, after Flo's cross was deflected behind, Rangers took the lead. Mikel Arteta's well flighted cross found de Boer at the near post and the Dutchman glanced his header low under Julian Speroni.
Dundee spurned a great chance to draw level when Novo skipped past Arthur Numan and Amoruso, but with only keeper Stefan Klos to beat the striker shot casually over.
Rangers could never relax with their slender lead but much of their build up was too slow and laboured for their fans. Barry Ferguson volleyed over from the edge of the box, and when de Boer mis-hit his shot from an Arveladze cut back in front of goal, it was typical of their poor finishing.
Speroni produced a brilliant save early in the second half to deny Arveladze but the Georgian calmed the Ibrox nerves with a well taken goal in the 66th minute, after a patient build up Kevin Muscat played in Flo who neatly laid the ball off for Arveladze to shoot home from ten yards.
Although Dundee threatened with an occasional breakaway it was always Rangers who looked likeliest to add to their lead. Fernando Ricksen's fine effort ended on top of the net before Flo hit the woodwork.
Substitiute Lovenkrands then secured the points with a powerful finish three minutes from time after he raced clear of the visitors defence