Vince Cable has stepped in to ban abuses of controversial zero-hours contracts by allowing people to work for more than one employer.
The Liberal Democrat business secretary said "unscrupulous" employers had been abusing the flexibility offered by the contracts, under which workers do not know if they have work from one week to the next.
Unions and campaign groups have been pressing for zero-hours contracts to be banned, but Cable said they had a place in the labour market - offering working opportunities especially for students and older people. But he announced plans to ban exclusivity clauses, which tie people to one employer.
He said: "It has become clear that some unscrupulous employers abuse the flexibility that these contracts offer to the detriment of their workers. Today, we are legislating to clamp down on abuses to ensure people get a fair deal.
"Last December, I launched a consultation into this issue. Following overwhelming evidence we are now banning the use of exclusivity in zero-hours contracts and committing to increase the availability of information for employees on these contracts.
"We will also work with unions and business to develop a best practice code of conduct aimed at employers who wish to use zero-hours contracts as part of their workforce."
The ban will benefit 125,000 zero-hours contract workers estimated to be tied to an exclusivity clause and will allow workers to look for additional work to boost their income, said the business Department.
The government received more than 36,000 responses to its consultation, with 83% in favour of banning exclusivity clauses.
Cable also announced a consultation on how to stop rogue employers evading the ban through measures such as offering one-hour fixed contracts.
Business representatives and unions will be asked to draw up a code of practice on the fair use of zero-hours contracts.
A recent report by the Office for National Statistics estimated that employers held 1.4 million contracts that did not guarantee a minimum number of hours.
Shadow business secretary Chuka Umunna said: "Under David Cameron's government we've seen a rising tide of insecurity. Zero hours contracts, which were once a niche and marginal concept, have become the norm in parts of our economy as families have been hit by the cost-of-living crisis.
"The government has watered down people's rights at work and have failed to match Labour's plans to outlaw zero hours contracts where they exploit people.
"Labour will ensure that people at work get a fair deal and proper protections so they are not forced to be available around the clock, are paid if shifts are cancelled at short notice and are able to demand a full contract if, in practice, they are working regular hours."
Simon Walker, director general of the Institute of Directors, said: "The IoD has long campaigned against the exploitation of employees on zero hours contracts. Tying an employee into an exclusivity cause can turn a flexible contract into a rigid and archaic one. The whole point about the flexibility offered by zero hours contracts is that they allow an individual to capitalise on their own time, labour and energy.
"We're pleased that the Government recognises the enormous value that flexible contracts can bring to both employer and employee, but at the same time it's right to ensure that exploitation is stamped out. The debate around zero hours contracts has, at times, been hysterical. In this context, the Government should be congratulated for protecting the valuable elements of such arrangements whilst closing down the loopholes that have generated understandable controversy."
TUC general secretary Frances O'Grady said: "The ban is welcome news but it's not nearly enough to really tackle the problem. A lack of certainty is the real issue. Far too many employees have no idea from one week to the next just how many hours they'll be working or more importantly how much money they'll earn. This makes managing households budgets stressful and organising childcare very difficult indeed.
"The one change that would really make a difference would be for employers to have to guarantee their staff a minimum number of paid hours each week. And as the economy continues to grow that would give many zero hours workers struggling to get by a much-needed pay rise."