Rally in banks and financial stocks drove benchmark indices over 2% higher despite weak global cues.  The Sensex ended at 34,208, gaining 700 points or 2.09%. The 50-share index Nifty closed above 10,000 mark. The Nifty was at 10,092 after gaining 210 points or 2.13%.