Chancellor Angela Merkel's conservative Bavarian allies the CSU especially have demanded that EU benefit cheats be expelled, using the slogan "those who lie, fly".
Under the draft bill agreed by cabinet, EU citizens who fraudulently receive social benefits will be sent home and temporarily prohibited from re-entering Germany.
Citizens of other EU countries in Germany would also be expected to find work within six months of arriving, under the bill that must still be passed by parliament.
Foreign applicants for child benefits will meanwhile be given tax ID numbers to stop fraud, such as families drawing multiple allowances for a child.
Conservative Interior Minister Thomas de Maizière insisted Germany, Europe's largest economy, was not limiting the free movement of people within the EU, a core principle of the 28-nation union.
Germany opened its labour market at the start of this year to citizens of Bulgaria and Romania, which both joined the EU in 2007.
The arrivals from the Balkan countries have sparked negative newspaper headlines as they have been concentrated in certain cities, including Berlin, Frankfurt, Munich and Duisburg, where migrant families often live in poor conditions.
Under the plan announced Wednesday, the government would also spend more than €200 million over a number of years to help towns and cities which have attracted unusually large numbers of EU migrants with housing and other expenses.
SEE ALSO: Thousands leave Germany for Bulgaria and Romania
Labour and Social Affairs Minister Andrea Nahles, a Social Democrat, stressed that many of the newcomers from eastern EU countries are skilled workers, often doctors attracted by better income prospects in Germany.
The total number of Bulgarians and Romanians living in Germany has risen from 35,000 in 2004 to 181,000 in 2012, but de Maiziere and Nahles both said the phenomenon of "poverty migration" was not widespread.
The new measures have been labelled populist by some critics, and Greens party lawmaker Wolfgang Strengmann-Kuhn told national news agency DPA that "the government should stop fighting problems that do not exist".
Boost in benefits
As well as the tightening of rules dealing with migrants, the government will introduce a new bill to increase benefits for asylum seekers to subsistence levels.
The move follows a decision by the Constitutional Court last year that the government was not doing enough to take care of people fleeing persecution. It will be the first increase in support for asylum seekers since a law setting out how asylum seekers should be treated was passed 19 years ago.
People who have been in Germany for more than 18 months and who are unable to return to their home countries will be transferred into the general social security system. They will receive benefits equal to the normal levels of social help after 15 months, rather than waiting four years as was previously the case.
This will have a knock-on effect of taking the burden off the towns where asylum seekers live.
The government also hopes to take measures to improve healthcare for asylum seekers in a future bill.
SEE ALSO: Over 100,000 foreigners get German citizenship