At least 46 people have been killed and a further 100 injured by a suicide bomber in Kirkuk, Iraq.

The bomber detonated explosives inside a Kurdish restaurant packed with government officials, women and children during lunch hour.

The attack took place during a major Muslim holiday in the north of Kirkuk, a city disputed by ethnic Kurds, Arabs and Turkmen.

The attack appears to be the worst in Iraq since 63 people were killed by a truck bomb in Baghdad on 17 June.

Violence has dropped sharply in recent months after more than five years of sectarian bloodshed and insurgency following the 2003 US-led invasion.

Iraqis had begun to venture out and resume normal life in areas where security is returning, but militants still stage regular attacks in volatile areas. Kirkuk had been one of the less violent cities.

The blast in a well-known restaurant frequented by Kirkuk dignitaries shook Iraq as Muslims celebrated Eid al-Adha, a four-day religious holiday.

A witness, Hussein Ali al-Salih, head of a district council in nearby Hawija, said the ‘Abdullah’ restaurant, 10 km north of Kirkuk, was crowded with women and children.

‘After we had our tea, a huge explosion occurred. I saw bodies on the ground. As we were rushing to leave the restaurant, we saw women wounded and civilians,’ he said.

Five of his bodyguards were wounded.

‘I lost consciousness briefly. When I opened my eyes, I saw destruction all around,’ fellow diner Qusay Mahmoud said following the blast.