Gnats eat decaying plant matter, but the larva may nibble on a root now and then. Get some BT (bacillus thurengensis - I may have spelled that a bit wrong). It will kill the larva, but is NOT a poison. It is a fatal disease of bugs that will not harm warm-blooded beings. It is perfectly safe to use around children and pets.

Yellow sticky traps will get the adults. Another trick is to put foil, shiny side up, under your plants to cover the soil. Seems that gnats look for dark, non-reflective places (like dirt) to lay their eggs. The foil just confuses the heck out of them! Light from above and below, screws with their little brains! :wtf: Foil also bounces back some light to those little buds underneath. My soil grow has only the occasional gnat, no big deal. I have a sticky trap mounted and foil my soil. No poison needed! Grow organically! - Granny:hippy: