A defensive header that beat his own goalkeeper in the extra-time of the second half nailed the coffin of Morocco.
Bouhaddouz was inconsolable at the end of the match, as Iranians celebrated wildly.
Morocco is the second African team to be defeated in the two-day old tournament. Egypt lost earlier in the day by the same lone goal margin to Uruguay.
Jose Gimenez scored for Uruguay in the 90th minute to sink Egypt, which star player, Sallah, remained on the bench after injuries from the finals of the Europeans Champions League.