The replacement of the long-serving Zebari with Shahristani, a Shiite Arab, may be intended as a snub to Iraq's Kurdish region, which is at odds with Prime Minister Nuri al-Maliki.
The premier has accused the three-province autonomous Kurdish region of harbouring militants and using a sweeping Sunni jihadist-led offensive to seize disputed areas.
Kurdish ministers said Maliki's stance "only served the enemies of Iraq and the terrorists", and announced they were boycotting cabinet meetings.