Organizers said some 1,000 people turned out while police said around 500 had gathered in Sergels Torg, one of Stockholm’s main squares, before marching to the Israeli embassy.
The demonstrators, mainly Muslim immigrants to Sweden, waved banners and shouted “Close the embassy,” “Gaza solidarity,” and “Israel, murderer,” and set fire to an Israeli flag painted with a swastika.
“Enough blood! We’ve seen enough,” Omar Mustafa, an organizer with the Swedish Islamic Association, told AFP.
“We don’t see any reaction from the rest of the world while there is a massacre going on,” he added.
The demonstration, which began at 1:30 pm (1230 GMT) wrapped up peacefully after a few hours.
Other protest marches were planned later on Monday in Gothenburg, as well as in several towns and cities in neighbouring Norway and Finland.
Israel on Monday bombed Gaza for a third day in an “all-out war” on Hamas, as tanks massed on the border and the Islamists fired deadly rockets in retaliation for the air raid attacks that have killed at least 318 people.