Nifty 50 closed at 22,721.95, up 358.60 points or 1.60%, recovering sharply from an intraday low of 22,288 and Sensex ended 1,109.10 points higher at 73,033.78