The majority of food poisoning is caused by consuming contaminated food or water containing particular germs or viruses. Symptoms can appear anywhere between 30 minutes and three weeks after consuming contaminated food. The length of time it takes to recover is determined by the type of bacterium or virus that caused the sickness.