Extending gains for a second session, Sensex and Nifty closed higher, driven by strong metal stock buying and positive global cues. The Sensex rose 223.86 points to finish at 81,207.17, after swinging 602 points intraday. It hit a high of 81,251.99 and dipped to a low of 80,649.57 amid mixed economic data and investor optimism.