One victim was beheaded in the attack on Friday, the witnesses said.
The white sedan car carrying the men was attacked while driving through western Mosul. It was later set on fire.
A news photographer saw three bodies lying on the street close to the blazing vehicle.
Media reports said the passengers were believed to be foreigners, but there has been no independent confirmation of their nationalities.
A fourth corpse was sprawled near the car.
The Turkish foreign ministry said in a statement on Friday that several Turk embassy guards, on their way from Turkey to Baghdad, were killed in an attack in Mosul.
It was not clear whether those killed in the attack on the car were the guards or whether the Turks were killed in a separate attack.
Also on Friday, three Kurds were killed and a child wounded in a Katyusha rocket attack in the northern Iraqi city of Kirkuk, Aljazeera has learned.
In other incidents, Baghdad airport, in the west of the Iraqi capital, came under mortar attack, Aljazeera reported.
Baghdad airport is a favoured
target of Iraqi anti-US fighters
Heavy smoke was seen rising from inside the airport on Friday. No further details about damage were immediately available.
While elsewhere in the city, a rocket-propelled grenade slammed into a building housing an Australian security unit but none of the soldiers was wounded, an Australian defence department official in Sydney said.
The grenade hit the side of the building shortly after 7am (0400 GMT) and a second fell 50m wide, a department spokeswoman said.
"No Australian soldiers were wounded in the attack," the defence department spokeswoman said, adding that there was no immediate information on possible civilian casualties.
The building is located near Australia's embassy in Baghdad, she said.
"Iraq is a dangerous place and our security attachment protects Australian diplomats
Australian defence department spokeswoman
The spokeswoman said it was not clear if the Australian contingent had been a specific target of the attack.
Iraqi security and US-led forces are usually targeted by direct fire, she said.
"Iraq is a dangerous place and our security attachment protects Australian diplomats and officials and we are continuing to monitor our force-protection requirements to ensure that we are able to protect Australian troops in the safest possible way," she said.
Australia has about 850 soldiers deployed in and around Iraq and has suffered no casualties yet in the conflict.