The Nifty 50 index closed at 22,968.25 with a gain of 255.15 points or 1.12 per cent, while the BSE Sensex closed at 74,106.85, up by 787.30 points or 1.07 per cent. Despite early weakness, both indices managed to close with gains as buying interest picked up during the session.