Gordon Brown has pledged more jobs for British workers as he seeks to draw a line under a row over the number of migrants employed in the UK.
Mr Brown has pledged new action on youth unemployment
The prime minister promised more help for the unemployed to fill the 600,000 vacancies he said were available.
It comes after the government admitted it had underestimated the number of migrant workers by as much as 700,000.
The Conservatives say Mr Brown's pledge of "British jobs for British workers" is illegal under EU law.
They say the government can do nothing to prevent migrant workers from new EU member states in Eastern European, such as Poland, from coming to work in the UK.
Mr Brown stressed that the government has retained curbs on migrant workers from Bulgaria and Romania and planned a new points-based system for migrants from outside the EU.
He said migrants had brought valuable skills to the UK - but he wanted to do more to help unemployed people and those on incapacity benefit in the UK to find work.
He told GMTV: "If you look at the jobs situation as a whole, there are 600,000 vacancies in the economy.
"I am really keen to get British people to take up these vacancies.
"You can get to a situation where British people who want jobs get a chance to get those jobs."
He said the government had signed contracts with more than 100 companies to "train people up who are unemployed, inactive or single parents to get the jobs that are available".
He said that over the next three years the scheme would be expanded to "create 300,000 opportunities for British people or people who are looking for jobs or are on the inactive register".
Mr Brown said he had decided to do more to help British people into jobs when he took over as prime minister in June.
He said there would be a new effort to ensure young people had the right skills for the jobs market, adding: "There are opportunities, there are vacancies, we want to give people the skills".
He also stressed that the immigration system would be tightened up to "take the action that is necessary" while "benefiting where we want to from the skills that people can bring to our country".
The government has faced accusations that its immigration policy is in chaos after confusion over statistics on the number of foreign migrant workers there are in the UK.
On Monday, Home Secretary Jacqui Smith admitted the government had underestimated the number of migrant workers by 300,000.
She said the actual figure was 1.1 million, although figures released later suggested the total number of people born outside the UK coming to Britain to work over the past 10 years was 1.5 million.
It then emerged - in a correction to the way the figures are calculated - that more than half of new jobs created under Labour since 1997 have gone to foreign workers.
The government had previously claimed the majority of new jobs had been filled by British workers.
Shadow Home Secretary David Davis said: "When Mr Brown came out with this amazing phrase of 'British jobs for British workers,' which anyway is illegal under EU law, I thought it was an accident waiting to happen."
Lib Dem home affairs Nick Clegg, one of two men bidding for the party leadership, called for immigration figures to be taken away from the "incompetent hands" of the Home Office and made the responsibility of the Office for National Statistics.
The UK Indepenence Party said it was "shocked and baffled" by Mr Brown's pledge to provide British jobs for British workers, which it said was illegal.