I had small black fly's. I used safers Insecticidal Soap. It will kill fly’s on contact. I also soaked the soil with it because the fly's liked to burry in it.

You must do this several times and wash the plant after a few hours.

This is good soap because it is not bad for plant at all. It is actually not poisonous to humans either, I just wouldn't want to smoke it.