Cut a sheet of plywood to the proper size. You'll want it to start below where it will bolt to the bed frame (about an inch or so), and extend to your desired height above the bed. and you'll want it the width of the bed.
Round off the top corners (the size of the arc is up to you), for this a jig saw works well.
Drill holes in the plywood to match the bolt pattern of the bed frame.
Cut your batting to the same shape as the plywood (Note: the batting does not have to extend below the top of the mattress (but it can it you like), so it might be shorter than the plywood), a utility knife should work just fine for this.
Attach the batting to the plywood using spray fabric glue.
Wrap the whole thing in fabric, use a stable gun to fasten the fabric to the back of the plywood (make sure you pull the fabric tight, starting from one corner and working your way around).
[Optional: For buttons] If you want to add buttons to the headboard to make 'dimples', it's easier to figure out where you want them before hand and pre-drill two small holes for each button in the plywood before you apply the batting, you can drill the holes after wrapping the fabric but you have to be careful.
[Optional: For buttons] Using a large needle and heavy thread / string, push the needle through one hole in the plywood until it comes out through the face of the headboard (fabric side), loop the thread/string through the button and then feed the needle back through the other small hole in the plywood.
[Optional: For buttons] Pull the thread tight to create the desired 'dimple' depth, and tie it off to hold it. Repeat this procedure for each button.