Food poisoning can hit as fast as 30 minutes after eating or take days to weeks to appear, depending on what contaminated your food. The fastest cases are caused by bacterial toxins already present in the food, while infections that need time to multiply in your gut take longer. This wide range is exactly why it’s often hard to pinpoint which meal made you sick.
The Fastest Cases: Under 6 Hours
The quickest food poisoning comes from toxins that are already in the food when you eat it. Your body isn’t waiting for bacteria to grow; the poison is pre-formed and hits your stomach immediately. Staph bacteria produce a toxin that causes symptoms within 30 minutes to 8 hours, with most people feeling sick within a few hours. Even though cooking kills the bacteria itself, it does not destroy the toxin, which is why reheating suspect food won’t protect you.
A similar pattern happens with one type of illness caused by Bacillus cereus, a bacterium commonly found in rice and starchy foods. The vomiting form strikes 30 minutes to 6 hours after eating. This is the classic “leftover rice” food poisoning, and it’s almost always over within 24 hours.
The Middle Window: 6 to 24 Hours
Several common pathogens fall into this range. Clostridium perfringens, sometimes called the “cafeteria germ” because it thrives in food left on warming trays, typically causes cramping and diarrhea 8 to 16 hours after a meal. The diarrheal form of Bacillus cereus follows a similar 8 to 16 hour timeline. Salmonella can start as early as 6 hours after exposure, though it often takes longer.
If you woke up sick in the middle of the night after a large dinner, this window is the most likely explanation. These cases tend to involve cramps and watery diarrhea rather than the intense vomiting you see with faster-acting toxins.
One to Several Days Later
Many of the most recognized foodborne infections take a day or more to develop, because the bacteria need time to colonize your intestines and trigger an immune response. This is why food poisoning often gets blamed on the last thing you ate, when the real culprit was a meal from days earlier.
Norovirus, the single most common cause of foodborne illness, has an incubation period of 12 to 48 hours. Salmonella ranges from 6 hours to 6 days, with most people getting sick within the first couple of days. Campylobacter, frequently linked to undercooked poultry, takes 2 to 5 days to cause symptoms. Shiga toxin-producing E. coli, the type associated with contaminated ground beef and leafy greens, has a median onset of 3 to 4 days but can take up to 8.
Vibrio, a bacterium found in raw oysters and undercooked shellfish, typically appears 1 to 2 days after exposure but can take up to 4 days for some strains.
The Slowest Cases: Weeks Later
Listeria is the outlier. For mild stomach symptoms, it can show up within a couple of days. But invasive listeriosis, the serious form that enters the bloodstream, has a median incubation period of about 11 days and can take up to 10 weeks. More than 75% of non-pregnancy cases develop symptoms within 2 weeks, but in pregnant women the timeline stretches further, with 75% of cases appearing within 5 weeks.
Hepatitis A is another slow mover, averaging 28 days from exposure to symptoms, with a range of 15 to 50 days. By the time you feel sick, the meal responsible is a distant memory.
Quick Reference by Pathogen
- Staph toxin: 30 minutes to 8 hours
- Bacillus cereus (vomiting type): 30 minutes to 6 hours
- Clostridium perfringens: 8 to 16 hours
- Bacillus cereus (diarrheal type): 8 to 16 hours
- Norovirus: 12 to 48 hours
- Salmonella: 6 hours to 6 days
- Shigella: 24 to 48 hours
- Campylobacter: 2 to 5 days
- E. coli O157:H7: 1 to 8 days
- Vibrio: 1 to 7 days
- Listeria: 2 days to 10 weeks
- Hepatitis A: 15 to 50 days
How Timing Helps Identify the Cause
If you’re trying to figure out what made you sick, the speed of onset is one of the best clues. Vomiting that starts within a few hours of a meal points toward a preformed toxin like staph, especially if the food sat at room temperature. Watery diarrhea starting 8 to 16 hours later suggests Clostridium perfringens or Bacillus cereus. Diarrhea that develops a day or more after eating, particularly if there’s fever, is more consistent with an infection like Salmonella, Campylobacter, or norovirus.
Bloody diarrhea appearing 3 to 4 days after a meal raises concern for E. coli O157:H7, which can progress to kidney complications in some cases. This symptom pattern deserves prompt medical attention.
Why You Often Blame the Wrong Meal
Most people assume their most recent meal is the problem, but that’s rarely accurate for anything beyond toxin-based food poisoning. If Campylobacter takes 2 to 5 days, the chicken you ate on Monday could be responsible for symptoms that show up on Wednesday or Thursday. Salmonella from a restaurant brunch on Saturday might not cause trouble until Tuesday.
This is also why outbreak investigations are so difficult. Public health investigators ask people to recall everything they ate over the past week or more, not just the last 24 hours. If you’re trying to trace your own illness, think back further than you’d expect.
Symptoms That Signal Something Serious
Most food poisoning resolves on its own within a day or two. Staying hydrated is the main priority. But certain symptoms indicate a more dangerous infection: bloody diarrhea, diarrhea lasting more than 3 days, fever above 102°F, vomiting so severe you can’t keep liquids down, or signs of dehydration like dizziness when standing, dry mouth, or barely urinating. Pregnant women who develop a fever with flu-like symptoms should be evaluated promptly, given the risk of listeria.

