Sebagian besar kasus keracunan makanan terjadi karena kontaminasi bakteri pada makanan dan minuman. Campylobacter, Staphylococcus aureus (Staph), Salmonella, Clostridium perfringens, E.coli, Yersinia, dan Shigella adalah jenis-jenis bakteri yang dapat menyebabkan keracunan makanan.
Beberapa virus yang dapat mencemari makanan atau minuman adalah hepatitis A (HAV), rotavirus, dan norovirus. Virus dapat berpindah ke makanan melalui air yang terkontaminasi atau orang terinfeksi yang menyiapkan makanan tersebut.
Penyebab lain keracunan makanan yang umum adalah karena parasit. Parasit adalah mikroorganisme kecil yang dapat masuk ke dalam tubuh melalui makanan atau minuman. Parasit berada di saluran pencernaan, dan bertahan selama bertahun-tahun. Toxoplasma gondii, Giardia, dan Cryptosporidium adalah beberapa parasit umum yang diketahui menyebabkan keracunan makanan.
Faktor penyebab lain yang juga harus diwaspadai adalah racun alami yang berbahaya dan bahan kimia tambahan dalam makanan dan minuman. Misalnya, jamur liar tertentu mengandung racun alami, produk segar yang tidak dicuci dapat mengandung pestisida, dan ikan serta kerang yang mungkin mengandung racun yang dihasilkan oleh alga atau bakteri. Akibatnya, mengonsumsi makanan tersebut dapat menyebabkan keracunan makanan pada bayi.