As a part of my recent bedroom makeover I made a headboard for my mattress. It was super simple and only required a few materials.
First, you will need a piece of wood of proper size for your project. I purchased plywood from Home Depot. They will cut it the size you need for free! You will need foam, but, you could also use an egg crate. This may be more economical because I found that foam can be super expensive. You will save yourself about 20-30 bucks going with the egg crate if you get the non-fancy kind, at least from what I can gather. In addition, you will need scissors, a staple gun, hardware to mount the headboard to the wall such as a French cleat, and fabric (I used brown faux leather).
Lay down your fabric, then the foam, then the board.
Trim a bit of the fabric off, however, leave enough to pull over and staple to the back of the wood.
Staple the fabric to the wood.
Then mount your hardware to your headboard (and wall) and hang.
There you have it.
Just a few suggestions. If you use an egg crate I would wrap 2 layers of fabric around so the headboard does not look bumpy. You could take cheap fabric for the first layer and then add your nice fabric as the last layer. Also, you can change this up as much as you want. Decide to change your bed linens? No problem. Just go buy some new fabric to change your headboard up too!