When I picked up the game I was having the same issue as well, so I kept the Dupe count low, kept it at slow speed, used the germ overlay and watched my Dupes to see what was doing it.
Food Poisoning occurs when a Dupe eats Food with Food Poisoning on it or when they eat while having Food Poisoning germs on themselves (dirty hands).
Whenever a Dupe picks up\puts down\stores something with germs or Interacts with a building covered in germs, they then get the germs on them and spread them to buildings and ladders.
Emptying germy bottles at a Pitcher Pump also will give you surface germs.
Handling germy Polluted Dirt\using the Compost when it has germs\handling the germy regular Dirt from a germy Compost will give you surface germs.
Every time you interact with the above you need to wash off the germs immediately or you spread them.
Best solution is to not handle the above as much as possible, and when you do you need to have stations for Dupes to clean themselves.
To avoid the germy Polluted Dirt\Compost\Dirt cycle, you can disinfect Polluted Water before you sieve it so the Polluted Dirt that results is already germ-free.
Pathing is a big deal. Make sure Dupes don't have ways to get dirty and avoid washing.
You can also use doors to limit who gets access to certain areas which can help avoid scenarios where you have more Dupes in an area than wash stations so 1 or more Dupes sneaks past them when all are in use.