How Long Food Poisoning Lasts and When to See a Doctor

Most food poisoning lasts 1 to 3 days, though the timeline varies widely depending on what made you sick. Some cases hit within 30 minutes of eating contaminated food, while others take days or even weeks to show symptoms. Here’s what to expect based on the most common causes.

How Quickly Symptoms Start

The gap between eating contaminated food and feeling sick depends entirely on the type of germ or toxin involved. Toxin-based food poisoning is the fastest: bacteria like staph produce toxins in food before you eat it, and symptoms typically start within 30 minutes to 8 hours. This is the classic “I ate something bad at lunch and felt terrible by dinner” scenario.

Viral food poisoning, most commonly from norovirus, takes a bit longer. Symptoms usually appear 12 to 48 hours after exposure, with a median onset around 33 hours. Salmonella, one of the most common bacterial causes, has a wide window of 6 hours to 10 days, though most people get sick within 6 to 48 hours.

Other bacterial infections take longer to develop. E. coli (the dangerous O157:H7 strain) typically causes symptoms in 3 to 4 days, and Campylobacter, a common culprit in undercooked poultry, usually takes 2 to 5 days. Listeria is the slowest of all, with an incubation period of one to two weeks that can stretch to 90 days in severe cases. This long delay makes it especially difficult to trace back to a specific meal.

How Long Each Type Lasts

Toxin-based food poisoning is the shortest. Staph food poisoning typically resolves within 24 hours. It’s intense but brief: sudden nausea, vomiting, and cramping that burn through your system quickly because your body is reacting to a toxin already present in the food, not fighting a growing infection.

Norovirus usually lasts 1 to 3 days, though the vomiting and diarrhea can be severe enough to cause dehydration in that short window. Salmonella infections generally run 4 to 7 days. Most people recover without treatment, but the diarrhea and fever can be draining. Campylobacter follows a similar pattern, with symptoms lasting about a week. E. coli infections vary, but most uncomplicated cases resolve within 5 to 10 days.

Listeria is an outlier. Mild cases may cause a few days of diarrhea and fever, but invasive listeriosis, where the bacteria spreads beyond the gut, can require hospitalization and weeks of recovery. This severe form primarily affects pregnant women, older adults, and people with weakened immune systems.

What the Timeline Feels Like

The first 6 to 24 hours are usually the worst. Nausea, vomiting, and cramping tend to peak early, then gradually shift toward diarrhea. Vomiting often stops within the first day or two, while diarrhea can linger for several more days. Fatigue and loss of appetite commonly persist even after the worst symptoms pass.

You can generally return to your normal diet as soon as your appetite comes back, even if you still have some diarrhea. There’s no need to follow a rigid progression of bland foods. The priority during and after symptoms is replacing lost fluids and electrolytes, since dehydration is the main risk for most otherwise healthy adults. For children, the same principle applies: offer their usual foods once they’re ready to eat, and continue breast milk or formula for infants as normal.

You May Still Be Contagious After Recovery

Feeling better doesn’t mean you’ve stopped shedding the germ. Norovirus is the most notable example: you can still spread it for two weeks or more after your symptoms resolve. This is why food poisoning outbreaks spread so easily in households, restaurants, and cruise ships. Thorough handwashing remains important well after you feel fine, especially before preparing food for others.

Signs Your Case Needs Medical Attention

Most food poisoning resolves on its own, but certain symptoms signal something more serious. Bloody diarrhea, a fever above 102°F, diarrhea lasting more than 3 days, or vomiting so frequent that you can’t keep liquids down all warrant a visit to a doctor. Signs of dehydration, like not urinating much, a dry mouth and throat, or dizziness when standing up, are also red flags, particularly in young children and older adults.

If your doctor orders a stool culture to identify the specific pathogen, expect the lab to take 1 to 3 days to run initial tests after receiving your sample. More specialized testing to identify the exact bacterial strain can take an additional 2 to 10 days. In practice, many mild cases resolve before lab results come back, but testing becomes important when symptoms are severe or part of a broader outbreak investigation.