The Old-Norwegian cast-on is one of my favorites for hats, mittens/gloves, and cuff-down socks. It leaves an incredibly clean edge while giving enough stretch to fit comfortably on brims, cuffs, sleeves, etc.
Aliases of the Old-Norwegian Cast-on; Twisted German, Elastic Long-Tail
Step 1: Make a slip knot, leaving a long tail. Place the slip knot on the right-hand needle and hold the yarn in the slingshot position with your left hand.
Step 2: Insert the needle tip under both strands of the tail yarn on your thumb.
Step 3: Come over the top and down into the thumb loop, coming out underneath the strand that is in front of your thumb.
Step 4: Bend your left thumb toward the index finger and reach over the top of the strand on your index finger. The loop on your thumb now has an X in it.
Step 5: Bring the needle tip through the bottom half of the X (nearest the needle), grab the index finger yarn to make your new stitch, drop the thumb loop, and tighten the stitch.
Repeat steps 2-5 until you have the desired number of stitches for your project. If you are an incredibly tight knitter, you may wish to use larger needles to ensure you’re going to have a stretchy enough cast-on.