Roast plain, unsalted peanuts in the oven
Blend roasted peanuts in blender (or food processor) and add a little oil.
Optionally, add honey to sweeten.
I want to start this off by saying that I hate natural peanut butter, and our homemade peanut butter is not like natural peanut butter. Our homemade peanut butter is delicious. It just tastes like roasted peanuts. It also has lasted a long time (couple months) without appearing to have gone bad, storing it in the fridge.
I'm not quite sure it worked the way it is really supposed to though. The oil from the peanuts themselves never separated the way I have seen in natural peanut butters. Also, our peanut butter is extremely thick and completely un-spreadable. I mix one portion sized amount with more honey to make it spreadable and sweet as I use it.
Have you made peanut butter? How did it turn out?