Will mobs fight each other?

Yes, but in vanilla Minecraft one of them must be a skeleton. (Or perhaps a ghast or blaze; though I've never personally seen them aggro another mob, I don't think the code specifically prevents it.) You have to get the other mob between the skeleton and something that will aggro the skeleton (such as yourself, or a snow golem) so that when it tries to shoot it hits the other mob instead. This will aggro the other mob, and then they'll fight.

It's fairly limited, but it is possible.

(Note that if a creeper is killed by a skeleton it will drop a music disc instead of gunpowder. These pit fights are fun and profitable!)

No, you can't make two zombies fight. Because of the way melee damage is coded, melee attacks can never cause "friendly fire": melee monsters acquire their target first, then deal direct damage to that target and only that target when they're in melee range. They don't attack like the player, where they swing and then damage is applied to whatever entity they connect with. Consequently, a zombie will never accidentally hit and damage another zombie. And since being damaged by another monster is the only way for a monster to aggro against another monster, zombies (and melee monsters in general) will never target each other.

No, ghasts won't fight each other. They appear to be programmed to ignore each other. I tested this by creating an arena with one "caged" ghast and one floating freely, switching to survival mode, and getting the caged one to shoot at me. Unlike skeletons, which will turn on each other when they suffer friendly fire, the ghast happily ignored the fireballs to its back and kept attacking me.


A bit late to answer but for future visits YES. Today I dodged 2 skellys, one arrow hit the other skelly and they turned on each other. So if they do friendly fire each other then yes.