The duration of an erection varies from man to man, but in general, a normal erection usually lasts between 5 and 30 minutes. However, some erections may last longer or shorter depending on various mental, environmental or physical factors. Therefore, sometimes it may be necessary to resort to natural sexual enhancers.