Try this first. Reposting from Ezekiel's solution that works!
Its a hardware issue that Apple overlooked. Try this work around to save money. Plug your iPhone USB cable into the phone (No need to plug the other end to anything) and grip the part right where it is plugged into the phone. Slightly bend it up towards the screen, just a little (You might even hear a click) and presto! This is guaranteed to work most of the time. If it doesn't, you need a new Home Button then.
Just dont blame anyone if you break something because this work around relies on your own strength..Ü