I had them too, tried everything, the only thing that worked well was repeat application of dish washing liquid, every two weeks for 4 applications.
I might be wrong and the others might correct me but I just added the detergent with my normal dose of fert every two weeks.
I added 10 drops for every 2.5 gallon or ten litres.
The soap suffocates the adult and the baby worm thingy but doesn't kill the eggs.
I would use the horticultural soap (expensive
)again or just use household dishwasher detergent (cheap
I am told it needs this every two weeks to break the egg - baby - adult fly cycle.
So I watered every two weeks with the stuff and they are gone after 2 watering but I kept going to make sure for two more for a total of 8 weeks.
My water application is 3 weekly watering with fert then 1 week of just a deep water flush to get rid of salts.
I now use 5 drops per 2.5 gallons to the fert on the week before the deep flushing of just water.