As milk heats, the water in its structure starts evaporating from the surface. This concentrates the remaining fat and proteins into a thicker layer at the top of the pot. This layer eventually becomes so thick that water vapor rising through the milk can't break through very easily and gets trapped.
The layer is so uniform that you can't necessarily see what's boiling up right underneath, except in little bubbles around the edges. You see where this is going?!
Sure enough, enough water vapor eventually collects that it raises the thickened layer above it and breaks violently through. And, voila! The milk boils over!
There are a few ways we can prevent this from happening. One is to be sure to stir the pot of milk every few minutes to break up the top layer, allow the steam to escape, and make sure it's heating evenly. We've also heard that you can leave a long-handled spoon in the pot and the handle will provide a conduit for the steam to escape.
A pot of milk on the stove is also just one of those things that you can't turn your back on. We've definitely learned this lesson the hard way - more than once!
Do you have a horror story of milk boiling over?
Related: Why I Don't Drink Skim Milk