A Labour government would pass a law that gives employees the right to a regular contract after 12 weeks of working regular hours, he said.
The Conservatives claim the move is a threat to jobs, although Mr Miliband insisted it would "absolutely not" be.
Lib Dems would ban exclusivity clauses which prevent people looking for additional work to boost their income.
'Not fair'
During his speech at David Brown Gears in Huddersfield, Mr Miliband said: "There is no greater symbol of an economy that doesn't work than zero-hours contracts.
"We have an epidemic of zero-hours contracts in our country - there's been a 20% increase in the last year alone - undermining hard work, undermining living standards, undermining family life. Because if you don't know from one day to the next how many hours you're going to be doing, how can you have any security for you and your family?"
"In our first year of government, Labour will pass a law that says if you're working regular hours, you'll get a regular contract... a legal right that will apply to all workers after 12 weeks," he said.
"To anyone trying to raise a family on a zero-hours contract, you shouldn't be left at the beck and call of an employer who can ask the world of you but can give you no security in return. It's not fair, it's not good for business and we'll put a stop to it."
Mr Miliband echoed David Cameron's assertion that he could not live on a zero-hours contract, adding that he followed the principle: "If it's not good enough for us, it's not good enough for you. It's not good enough for Britain."
Main pledges
Policy guide: Where the parties stand
Conservative sources said just 2% of workers were on such contracts and nearly 40% of them already worked full time.
London Mayor Boris Johnson said he would rather get people into work than leave them feeling "ill-used by society, left out, unable to express themselves with their self esteem sinking and sinking".
Lib Dem business spokesman Vince Cable said while there had been abuses of zero hours contracts his research had found they applied to only one in 50 workers - and some of those were students and retired people.
"I just don't see the Miliband proposals as being practical because we know there are large numbers of companies that don't have constant work and there are large numbers of people who prefer flexibility," he told BBC2's Daily Politics.
The idea was also criticised by employers' groups, which suggested it could result in firms having to let workers go.
"Of course action should be taken to tackle abuses, but demonising flexible contracts is playing with the jobs that many firms and many workers value and need," said CBI director-general John Cridland.
Christian May, from the Institute of Directors, said zero hours contracts had helped the economic recovery.
"I'm just very surprised that the Labour Party feels the need to go this far in curtailing what has been an undoubted tool of great success, during our economic recovery," he said.
"It's acted as an employment stabiliser and indeed there are only 700,000 people on these contracts, of whom only a third want more hours."
Meanwhile, shadow chancellor Ed Balls said he had "no intention" of lowering the point at which people pay 40p income tax.
It followed an interview with ITV West Country where he was asked if he was "leaving the door open" to changing tax thresholds.
Mr Balls replied: "What I'd like to do is find ways I could have fewer people in the 40% tax bracket.
"Of course I would. But I have to be honest with people. The deficit will be £90bn. I have to find a way to get the deficit down in a careful, staged, balanced way."
Under plans set out in the Budget, the threshold will increase to £42,385 this month, £42,700 in April 2016 and £43,300 in April 2017.
The shadow chancellor was asked about the issue again at a press conference during his campaigning visit to Scotland.
He said Labour had supported the rises in the threshold outlined in the Budget.
"David Cameron is saying he wants to go further but his commitment to go further is entirely unfunded," he added.
"I have no intention of reducing the threshold."
BBC deputy political editor James Landale said that from 2018 onwards, Mr Balls was "making it very clear he wants to keep his options open".
He added: "Once again we are back to familiar territory. How do you sort the deficit? Do you raise taxes or do you cut spending - and there is a clear choice in this election."
Labour will end the "epidemic" of zero-hours contracts that are "undermining family life", Ed Miliband has insisted.