- Make the dip: Rinse salt cod under cold running water until any salt on its surface is washed away. Transfer to a large container and cover with fresh water. Refrigerate for 24 hours, changing water several times during that period.
- Bake potatoes in a 350-degree oven until easily pierced with a fork, about 1 hour. Split potatoes lengthwise, scoop flesh from skins, and mash using a food mill, ricer, or potato masher. Set aside.
- Meanwhile, drain salt cod and place in a medium saucepan. Cover with cold water and add garlic, thyme, and bay leaf. Set over medium-high heat and bring to a simmer. Cook for 10 minutes, then remove from heat and let stand for 20 minutes. Drain salt cod, reserving garlic and discarding thyme and bay leaf. Flake salt cod.
- Transfer salt cod and reserved garlic to the bowl of a stand mixer fitted with paddle attachment. With the mixer running at medium-high speed, drizzle in olive oil until fully incorporated, then drizzle in half and half until fully incorporated. Add mashed potatoes and whip just long enough to fully incorporate. Season with salt and pepper, and mix in parsley and lemon zest. Finish by transferring to an oven-safe baking dish and covering liberally with grated Parmigiano-Reggiano. Bake in 350-degree oven for 10 minutes, then broil until browned on top, about 3 minutes.
- Make the vinaigrette: Combine all ingredients in a food processor and pulse until coarsely chopped. Transfer mixture to a medium bowl. Season to taste with salt and pepper. Set aside. (This recipe makes more than you’ll need but it keeps for up to a week in the fridge and is delicious on green salads.)
- Make the bread: Brush each slice of bread with olive oil on both sides and toast in a medium-hot skillet until golden brown on each side.
- To assemble: Once the dip is hot and caramelized, drizzle liberally with vinaigrette and serve along with bread.