Playground sand is the cure.
I have tried many things to get rid of these Lil bastards and have figured out a very cheap, clean,organic, dam near Imediant way to get rid of them. To start I'd like to say if there naturally present in your area which they should be if you have them, unless you got clones or dirt from afar with the larva, they will continue to reappear. If one or two sneak in after you kill them off couple a hundred eggs are instantly back in your medium and the cycle behind again. Back to the sand, go to your local store and get a bag of playground/sandbox grade sand ,it is the finest and works best. Spread a 1/4 - 1/2 inch layer on the top of your plants covering the soil completely. The sand dries out after watering extremely quick and is to fine and compact for the knats to want to bother digging into to lay eggs, this will end the cycle, if you want really quick results do this and then set off a permithium bomb to kill adults. You will be amazed how well this works , only down side when you water the sand moves around and you need to make sure to recover any exposed soil, also makes it hard for a in expierianced person to tell when they need to water, apply sand water and pick up pot to get idea how heavy when wet.