Answer: You usually vomit within 7 hours of eating (for regular non-contagious food poisoning). Or you can have diarrhea 6-22 hours after eating the suspect food.
Regular non-contagious food poisoning can occur when you eat food that has been sitting out at room temperature or was kept "warm" (between 40°F and 140°F) for more than 2 hours. Certain bacteria such as Staphylococcus aureus1 and Bacillus cereus2 can grow on the food and produce toxins. It is the toxins that make you sick. If you reheat the food, the bacteria will die but the toxins will still be there and they will still make you sick. With this type of food poisoning, you usually vomit anytime from immediately after eating to 7 hours later. Some people also get diarrhea. Bacillus cereus can also cause diarrhea that strikes 6-15 hours after eating. There is also a type of non-contagious food poisoning caused by the bacteria Clostridium perfringens3 . It causes intense abdominal cramps and diarrhea 8-22 hours after ingestion and lasts about 24 hours.
There are other types of food poisoning that are contagious (such as food contaminated with salmonella, e.coli, or norovirus). These types of food poisoning usually don't show up for at least 24 hours after eating, and they ARE contagious to other people. For more information about the types of food poisoning, please read "What is food poisoning?" For help determining if you have a stomach virus or food poisoning, please read "Do I have the stomach flu or food poisoning?"
FOODS COMMONLY ASSOCIATED WITH FOOD POISONING
Food poisoning from Staphylococcus aureus (you were vomiting within 7 hours of eating) is frequently caused by meat and meat products; poultry and egg products; salads, such as egg, tuna, chicken, potato, and macaroni; bakery products, such as cream-filled pastries, cream pies, and chocolate éclairs; sandwich fillings; and milk and dairy products. Foods that require considerable handling during preparation and are kept slightly above proper refrigeration temperatures for an extended period after preparation are frequently involved in staphylococcal food poisoning.
The vomiting illness caused by Bacillus cereus (that strikes within 6 hours of eating) is commonly caused by rice products. (That Mexican or Chinese restaurant may have kept that rice warming for hours). However, other starchy foods, such as potato, pasta, and cheese products have also been implicated. Food mixtures, such as sauces, puddings, soups, casseroles, pastries, and salads are sometimes involved. (That calamari dipping sauce or marinara dipping sauce probably sat on a warm burner all afternoon.) The diarrheal illness caused by Bacillus cereus, which strikes 6-15 hours after eating, has been linked to meats, milk, vegetables, and fish.
Food poisoning from C. perfringens (diarrhea usually strikes 8-22 hours after eating) is associated with meats (especially beef and poultry), meat-containing products (e.g., gravies and stews), and Mexican foods. It is also found on vegetable products, including spices and herbs, and in raw and processed foods.
FOOD POISONING STORIES
Years ago, my husband and I ate at a “hole in the wall” Mexican restaurant. He thought his meal tasted great. Mine was pretty good too. While we were waiting for the check, he started to feel sick. It came on so fast. He got up to go look for the bathroom and immediately started vomiting. He left a trail of vomit all the way to the bathroom (which unfortunately was the women’s bathroom, poor guy). Anyway, when he finished vomiting he felt fine. Two hours later, he had a big bowl of ice cream with chocolate sauce. I suspect that this type of food poisoning was from the toxins produced either by Staphylococcus aureus or Bacillus cereus since it came on so suddenly and was over so quickly.
Another example of obvious non-contagious food poisoning happened to my sister and her coworker recently. They went to happy hour (at 5pm) at a local restaurant and shared an appetizer of fried calamari with a dipping sauce. At 10pm, they were both vomiting. Since they don't live together and didn't eat anything else that was the same that day, I am very certain that they got food poisoning from that shared appetizer. The dipping sauce was probably sitting out barely warm under a heat lamp all afternoon growing toxin producing bacteria.
Another example of non-contagious food poisoning recently happened to a friend and her husband after having dinner at a restaurant. They had different meals but they both got the same house salad (lettuce, eggs, tomato, cheese, croutons, cucumbers, and creamy Italian dressing). My friend went to bed at 9:30pm and thought her stomach felt odd but she fell asleep anyway. She woke up at 10:15pm and had to run to the toilet to vomit. She had 1 violent episode of vomiting and then felt okay. She slept the rest of the night. She was perfectly fine the next day. This seems like a case of non-contagious food poisoning because it came on so quickly after the meal and was over quickly. Although it is possible to vomit just 1 time from a stomach flu virus, they usually don't end that quickly. Her husband had a different story. He had a stomachache after dinner just like she did. However, he did not vomit. He had a stomachache for the next 2 days and then had diarrhea for the following 3 days. He wasn't right for a week. If I was just looking at his symptoms, I'd say that he probably has something contagious. However, since his wife most definitely has the non-contagious form, and they both felt sick at the same time, I would blame it on a bad salad. This example shows us that even the same bad food can affect people differently. I know throwing up is scary but when you eat something bad, it is probably the fastest way to feel better. My friend's husband didn't throw up and kept the bad stuff in. He was sick all week.
--Annie Pryor, Ph.D.