"I reiterate that I am completely innocent... However, I do not wish to be the excuse for opposition to stall the parliament. Hence I have decided to tender my resignation from the cabinet," Singh told reporters on Tuesday.
He said he had not violated any law in "letter or spirit".
Singh was removed from the foreign ministry last month pending an inquiry into a UN report naming him and the Congress party in the scandal.
But he remained in the cabinet as a minister without portfolio.
Lawmakers from the main opposition Bharatiya Janata Party (BJP) continued earlier on Tuesday to block proceedings in parliament over demands for Singh's head.
The opposition has bayed for blood from Friday after fresh disclosures by India's ambassador to Croatia, also a Congress insider, that the Iraqis had rewarded Singh with an oil allotment for his "personal service".
Singh led a four-member team to Iraq in 2001 that included the envoy, Anil Matherani, who was recalled to Delhi at the weekend.
In October, former US Federal Reserve chairman Paul Volcker issued a UN report saying ousted president Saddam Hussein's regime manipulated the oil-for-food programme to extract about $1.8 billion in surcharges and bribes.
Volcker named Singh as a beneficiary of four million barrels of Iraqi oil.
Congress, India's oldest political party, was also listed as a beneficiary of a separate allotment of four million barrels.