Tuz Khurmatu, part of a swathe of territory claimed by both Iraq's autonomous Kurdish region and Baghdad, has been divided between Turkmen and Kurds since fighting erupted between the two sides last year.
A peshmerga brigadier general and another fighter and two members of Turkmen forces were among the nine people killed, said Shallal Abdul Baban, the Kurdish official responsible for the area.
A colonel in the Tuz Khurmatu police gave the same toll, and said that the highway to Baghdad was closed by forces involved in the fighting.
Karim Shukur, an official from the Patriotic Union of Kurdistan party, said the trouble began when a member of the Hashed al-Shaabi threw a grenade at one of its headquarters in Tuz Khurmatu, wounding peshmerga fighters.
More From This Section
The Hashed al-Shaabi meanwhile blamed the Kurds for the unrest, saying in a statement that the clashes started after Kurdish forces targeted one of their headquarters in the town.
Both the peshmerga and the Turkmen fighters are battling the Islamic State jihadist group, which overran large areas north and west of Baghdad in 2014.
The fighting last November began as a dispute at a checkpoint that escalated into clashes inside Tuz Khurmatu.
Dozens of homes were burned, and the town has been split between Kurdish and Turkmen areas, with neighbourhood minority residents moving back across the ethnic divide.
Baghdad turned to the Hashed al-Shaabi, which is dominated by Iran-backed Shiite militias, to help stem the jihadists' 2014 advance and later push them back.