Two car bombings in Iraq have killed at least 34 people and injured 24 at a checkpoint manned by troops and pro-government Shiite militiamen.

At the outskirts of the Sunni town of Jurf al-Sakhar the suicide bomber drove a Humvee packed with explosives head-on into a checkpoint, according to a police officer.

The Humvee used in the attack may have been captured from government forces.

Most of those killed were members of the Shiite militia, according to an AP report.

In Monday's second incident, a bomb-laden car exploded in Baghdad's Karrada district, killing at least 15 people and injuring dozens more, police and medical sources said.

The attack took place on a street with shops and restaurants, home to both Shia and Sunni Muslims as well as other sects and ethnic groups.

No group has claimed responsibility for the attack so far. Jurf al-Sakhar is 50 kilometres (30 miles) south of Baghdad, and many believe the bombing could have been carried out by the Islamic State group.

Isis lost control of the town on Sunday amid fierce fighting when Shiite militia and Iraqi soldiers seized it back from the Sunni extremist group. Islamic militants had previously taken the town in July as the group moved quickly, capturing areas of northern and western Iraq.

Col. Muthana Khalid, spokesman of the Babil provincial police, said the battle over the town left dozens of militants dead or wounded.

"Our soldiers raised the Iraqi flag over government offices and buildings in the town. It is another victory achieved against the terrorists," Khalid added.

Jurf al-Sakhar is just south of Baghdad and lies on a road usually taken by Shite pilgrims to the holy Shiite city of Karbala in the south.

Pilgrims were due to be taking the route next week to commemorate the death of the Prophet Muhammad's grandson, Imam Hussein — one of the most revered Shiite martyrs.