Heat the olive oil in a large pot over medium heat. Add the onion and cook for 3 minutes until it starts to soften.
Stir in the garlic and fennel slices. Cook for another 4 minutes, stirring often, until the fennel begins to turn tender.
Pour in the vegetable broth and bring the mixture to a gentle simmer. Let it cook for 5 minutes to blend the flavors.
Add the cod pieces to the pot. Simmer for 4 minutes without stirring too much so the fish stays in chunks.
Add the asparagus pieces and cook for 3 more minutes until the asparagus turns bright green and the cod is cooked through.
Remove the pot from the heat. Stir in the lemon juice, lemon zest, and most of the dill. Season with salt and black pepper.