The NATO-led International Security Assistance Force said two vehicles were badly damaged in the explosion near New Baghlan, about 120 miles north of Kabul. Mir Alam, the chief of police in the region, said the attack occurred at around noon, and that the explosion was caused by a remote-controlled land mine.
The two injured soldiers were moved to a nearby German medical facility. Their injuries were not life threatening, ISAF said in a statement.
ISAF did not give identities or nationalities of the injured troops but Alam said they were Dutch.
However, the Dutch Defense Ministry in The Hague said in a press release that one Dutch and one British soldier were wounded in the explosion.
There was no word on the condition of the injured Afghan civilians.
Alam blamed Hizb-e-Islami, an Islamic faction led by renegade warlord Gulbuddin Hekmatyar for the explosion, saying Baghlan was a former stronghold of Hekmatyar. Hekmatyar is believed to have joined forces with al Qaeda and the Taliban in fighting the government.
Alam also claimed that some people have been arrested in connection with the explosion but did not give details.
Taliban rebels have kept up a steady stream of attacks against Afghan and foreign troops in the south and east of the country. Northern Afghanistan has been relatively peaceful.
ISAF has about 12,000 soldiers from 36 nations in Afghanistan and is responsible for security in Kabul as well as northern and western regions of the country. A separate 20,000-strong U.S.-led coalition is in the east and south hunting Taliban and al Qaeda fighters.