Cut the fish into cubes or strips. Crush or chop the garlic. Rinse the vegetables and cut them into thin strips.
Melt the butter in a pot and add the garlic. Once it turns golden, whisk in the flour to build the roux.
Pour in the fish stock, whisking until no lumps remain - this is where the soup gets its body.
Add the vegetables and milk, bring to a boil, and cook about 10 minutes until the potatoes are tender.
Stir in the crème fraîche and return to a simmer. As soon as it bubbles again, turn off the heat.
Add the fish to the hot pot off the heat and let it cook in the residual heat for 5 minutes - this poaches it gently so it stays intact instead of breaking apart.
Scatter with chives, dill, or parsley and serve.