As with all software installs / removals in Ubuntu, use one of the package managers.
First: from GRUB, write down the version numbers of the old kernels you want to remove. Don't trust to your memory! You'll want to keep the most recent kernel, and the boot option for "Recovery Mode".
Then, boot into Ubuntu, and start "Synaptic Package Manager" (Under "System" | "Administration").
Search for "linux-generic". Go through the list, and select "Mark for complete removal" for each of the versions you want to remove.
Search for "linux-headers". Go through the list, and select "Mark for complete removal" for each of the versions you want to remove.
Click "Apply". That should do the trick.
Be careful. If you remove the active kernel, you won't be able to boot! By the way: Ubuntu keeps old versions around when the kernel is updated "just in case". Keep my answer handy: you'll need it again in a few months.
- - - - - - -
Comtech391: Your answer applies to an older version of Grub, and would only clean up the boot list without freeing any disk space, regardless.