"Will the Prime Minister do what some other European countries have done and ban exploitative zero-hour contacts here?," Labour leader Jeremy Corbyn asked.
David Cameron acknowledged that the practice of Sports Direct in paying the non-zero wage was "appalling", adding he "abhors it".
Cameron added the Tory government had done more than any previous government in cracking down on the non-payment of the minimum wage.
"We are going after unscrupulous employers and making sure people get the deal they deserve."
He added the government legislated in the last parliament to ban exclusive zero-hours contract. But it followed the conclusions of the recommendations as the review did not recommend going further, because some workers want them.
Corbyn also pointed to Priti Patel and Michael Gove.
He asked firstly if Patel, the employment minister, spoke on behalf of the government when she said that leaving the EU would reduce the regulatory burden on firms, making jobs less secure.
Then, turning his attention to the justice secretary, asked if the Prime Minister agreed with Gove, who said he cannot guarantee that people would keep their jobs if the UK leaves the EU.
Corbyn also asked why, if Tories such as Gove and Patel, as well as Boris Johnson, are not speaking for the government, they still in it?
Cameron said that ministers were campaigning in a personal capacity, and said he had to maintain consensus.
Read more: "I'm not Father Christmas," says Mike Ashley
The leader of the opposition then asked if he will support closing the loophole that allows exploitation of migrant workers to continue. Cameron said he supports the draft.
Then Cameron came under pressure about Conservative MEPs not supporting country-by-country transparency on tax avoidance. "When will they back closing down tax loopholes?"
The Prime Minister said that his MEPs do support country-by-country reporting and his government has done more nationally and internationally to address it.