It takes about 4 to 5 hours for the average person to finish a marathon. Intermediate runners can finish a marathon in under 4 hours, and advanced runners within 2 hours. If you’re a beginner runner, start training for a marathon and aim for 5 hours, then gradually build up your endurance and speed to decrease your run time.