Roughly chop the onion and place into a small saucepan with 2 cups of vegetable broth.
Bring to a boil, then reduce to a simmer for 10 minutes until the onion is soft and tender.
Puree the mixture in a blender and set aside.
Heat 2 tablespoons olive oil in a braising pan. Add some chopped fennel fronds, the sliced fennel, diced celery root, and carrots.
Layer cod pieces over vegetables. Season cod with salt an whole peppercorns.
Drizzle with olive oil. Top with lemon juice and pureed onion sauce mixture.
Braise over medium-low heat for 30 minutes until the vegetables are tender and fish is cooked through. Gently shake the pan a few times while cooking to bring the liquid to the top.
Cover with lid and cook for another 20 minutes.
Garnish with fresh chopped dill and fennel fronds.
Serve warm. Spoon sauce over fish and serve with crusty bread.