On average, Viagra lasts between 2 and 3 hours before its effects start to diminish. Viagra can last up to 5 hours or longer depending on your dosage, your body's metabolism, and other external factors.