The demonstrators gathered in the centre of the capital near the offices of the House of Labour, the official workers' union.
Signup to our newsletter and follow us on Facebook and Twitter!
"Employing foreign workers amounts to putting Iranians out of work," was the main slogan on a large banner erected by the protesters, seen in a photograph carried by the semi-official news agency.
Other banners read: "Employers, shame on you, let foreigners go."
Iran, where unemployment is running at more than 10 percent of the workforce, has more than one million Afghans employed mainly in construction and agriculture.