FIFA suspended Materazzi for two matches.
Football's governing body also fined Zidane 7,500 Swiss francs ($6,000) and Materazzi 5,000 francs ($4,000) after a disciplinary committee heard the former France captain's account of what happened.
Zidane's ban is academic as he retired at the end of the World Cup. He has agreed to do three days community service with children on one of FIFA's humanitarian projects.
Zidane said he attacked Materazzi because he insulted his mother and sister, but Materazzi denied insulting Zidane's mother.
FIFA said that both players stressed that Materazzi's comments were not racist.
They apologised to FIFA for "their inappropriate behaviour and expressed their regret at the incident," a statement said.
Zidane, who had already submitted a written testimony, faced a five-man FIFA committee for about 90 minutes on Thursday morning. Materazzi appeared before the panel last week.
Fans stood outside the hearing
to support Zidane
FIFA president Sepp Blatter has suggested Zidane could be stripped of the Golden Ball award he was given as the World Cup's best player.
In a French television appearance last week, Zidane apologised to children who watched the match, but said he did not regret his actions because he was provoked by repeated insults about his family.
During extra time in the final, Zidane and Materazzi exchanged words as the two walked upfield. Zidane turned and head-butted Materazzi in the chest, knocking him to the ground.
Zidane was sent-off and Italy went on to win the World Cup 5-3 on penalties.