Is it only option to re-render whole scene again?
Pluck out the F12 button on the keyboard :), or control yourself ... Jokes aside.
I used to have mine set to always render out to a default cache using the File Output node and safe the file as a template, so everytime I start a blender new file ... it's default.
I also turned my overwrite off so it will prevent me from accidentally rendering over the already rendered frame, until I decide to overwrite. This was how I used to work when my finger didn't obey me, stopped doing that onces I got used to blender.
I must add if you have a good enough GPU using the viewport preview more would also prevent you from wanting to hit the F12 too much. Use that preview render functionality of blender and you would soon be cured! You could also mess with your motor memory by changing or disabling F12 button from the input tab on the user menu.
Trust me, in the earlier days where GPU viewport preview was not available, lots of 3d artist suffers from the "overly abuse render button" syndrome.
Unless you had saved your image to a file, there is no way to get your rendered image back.
Things you can do to prevent this from happening in the future:
Save the rendered image to a file:
In the UV/Image editor's menu use Image->Save As Image (or F3)
Switch render slots.
There are 8 independent render slots. If you switch to a different one and render again, the images on other render slots will remain unaffected. Note that you'll be increasing memory usage with every render slot, and all of the rendered images will be lost when the file is closed (unless you save them to an external file).