First take the tail of the yarn and hold it, tail pointing down, in your non-dominant hand (for me that's my left hand).
Start winding in a figure-8 motion between thumb and pointer finger while continuing to hold the tail with your last 3 fingers.
Pull the figure-8 off your fingers and fold it in half, then continue winding over it.
I keep my thumb over the place where the tail comes out from the ball so I don't wind over its escape route. See the little hole my thumb leaves?
As I'm winding, I turn the ball to the right and keep wrapping around. At first I'm almost going from south to north pole, but after there's a bit of a ball, I turn the ball a little off its axis and begin winding from the bottom right hand "corner" of the ball, (ha, is that an oxymoron?) to the top left of the ball which serves to make the ball a little more flat on top and bottom which is great for keeping the ball from rolling all over the place when it's finished being wound.
When I'm done, I tuck the tail in to the ball with a crochet hook. Notice the tail coming out of the center of my center pull ball.
See how nicely they stack (well if you tilt your head, lol)?