Most upset stomachs resolve within 1 to 3 days, but the actual timeline depends entirely on what’s causing it. A mild case of food poisoning might clear in 24 hours, while a food intolerance flare can wrap up the same day. On the other end, conditions like gastritis or IBS can stretch symptoms out for weeks or even months. Knowing what’s behind your symptoms helps you gauge whether you’re on a normal recovery track or dealing with something that needs attention.
Viral Stomach Bugs: 1 to 3 Days
The most common reason for a sudden upset stomach is a viral infection, often called a “stomach bug” or stomach flu. Norovirus, the most frequent culprit, typically runs its course within 1 to 3 days. You’ll usually feel the worst during the first 12 to 24 hours, with nausea, vomiting, and diarrhea peaking early and then gradually tapering off. Rotavirus follows a similar pattern, though it tends to hit young children harder and can last slightly longer in kids under five.
Even after the vomiting and diarrhea stop, it’s normal to feel drained, have a reduced appetite, or notice mild nausea for another day or two. This lingering fatigue is your body recovering from fluid loss and inflammation, not a sign the infection is still active.
Food Poisoning: Hours to 10 Days
Food poisoning timelines vary widely depending on which bacteria is involved. Some cases are over before you even figure out what caused them, while others drag on for well over a week.
- Salmonella: Symptoms can start as early as 6 hours after eating contaminated food and typically last 4 to 7 days. Common sources include undercooked poultry, eggs, and unpasteurized dairy.
- Campylobacter: Usually lasts 2 to 5 days. Often linked to undercooked chicken, shellfish, or contaminated water.
- E. coli: Most cases resolve in 3 to 4 days, but some strains can cause symptoms lasting up to 10 days. Raw or undercooked beef, unpasteurized milk or juice, and contaminated produce are common sources.
The severity matters as much as the duration. Mild food poisoning with a few bouts of diarrhea is very different from a case with bloody stool or persistent vomiting. If you can keep fluids down and your symptoms are gradually improving, you’re likely on the right track regardless of the specific bacteria.
Food Intolerances: A Few Hours
If your upset stomach follows a pattern tied to specific foods, an intolerance is a likely explanation. Lactose intolerance symptoms, for example, usually begin within a few hours of eating dairy and resolve once your body finishes processing the trigger food. That typically means the bloating, cramping, gas, and diarrhea clear within the same day.
The key difference between an intolerance and an infection is the pattern. Intolerances produce the same symptoms every time you eat the trigger food, don’t cause fever, and don’t get worse over time. If your stomach only gets upset after meals with dairy, gluten, or certain high-fiber foods, tracking what you eat for a week or two can help confirm the connection.
IBS Flare-Ups: Days to Months
Irritable bowel syndrome is one of the most common reasons for a stomach that stays upset far longer than a typical bug. IBS flare-ups can last anywhere from a few days to several weeks, and in some cases months. The unpredictability is actually one of the hallmarks of the condition. Symptoms tend to cycle between better and worse periods rather than following a straight recovery line.
Stress, certain foods, hormonal changes, and disrupted sleep are all common triggers. Unlike infections, IBS doesn’t cause fever, bloody stool, or weight loss. If your upset stomach keeps coming back over a period of months without a clear dietary cause, IBS is worth exploring with a healthcare provider.
Gastritis: Sudden or Slow-Building
Gastritis, which is inflammation of the stomach lining, comes in two forms with very different timelines. Acute gastritis hits suddenly, often triggered by overuse of pain relievers like ibuprofen, heavy alcohol consumption, or extreme stress. It can feel intense but typically improves within days once the trigger is removed.
Chronic gastritis is a different story. It develops gradually, sometimes over months or years, and you may not even realize it’s happening until symptoms like persistent upper stomach pain, nausea, or feeling full after small meals become hard to ignore. Chronic gastritis is often driven by an underlying condition, such as a bacterial infection in the stomach lining, and it won’t resolve on its own without addressing the root cause.
When Lingering Symptoms Are Normal
One of the more frustrating things about stomach infections is that your gut can remain sensitive long after the infection itself is gone. After a bout of gastroenteritis, some people develop a condition called post-infectious IBS, where bloating, irregular bowel movements, or mild cramping persist for months. The risk of developing these lingering symptoms increases about sixfold after a gastrointestinal infection, and they can take time to fully resolve.
The outlook is generally good. In a large long-term study, the percentage of people still experiencing symptoms dropped steadily over time, from about 31% at two years to 17% at six years. After viral infections specifically, lingering symptoms tend to be more short-lived, often resolving within about three months. So if your stomach still feels “off” weeks after a stomach bug, that’s a recognized pattern with a favorable trajectory, not necessarily a sign of a new problem.
Warning Signs That Need Prompt Attention
Most upset stomachs are self-limiting and just need time, fluids, and bland food. But certain symptoms signal something more serious. Seek medical care if you experience vomiting or diarrhea lasting more than 24 hours with an inability to keep any fluids down, as dehydration can escalate quickly at that point.
Other red flags include blood in your vomit or stool, a swollen or distended abdomen, fever alongside worsening pain, pain that intensifies steadily over several hours rather than coming and going, or pain so severe you’d describe it as the worst you’ve experienced. Abdominal pain during pregnancy always warrants immediate evaluation. For children, pain that persists or worsens over 3 to 5 hours, especially with fever or a major drop in energy or appetite, is the threshold for calling a doctor.
Lightheadedness when you stand up is an early sign of significant dehydration. If small, frequent sips of water or an electrolyte drink aren’t staying down and you’re starting to feel dizzy or confused, that’s the point where waiting it out at home stops being the right call.

