Stock markets witnessed heavy sell-off in the second half of the session on the weekly expiry day. Banks and financial stocks slid tracking a fall in the global markets. The Sensex plummeted 580 points to end at 43,599 and the Nifty tanked 1.29% to close the trade at 12,771. SBI, ICICI Bank, Axis Bank, Tata Motors and JSW Steel were the top losers. The rupee fell 8 paise to close at 74.27 against the US dollar.