- Roast garlic in a dry frying pan over medium heat on the stove, stirring occasionally, until soft and browned, about 1 hour.
- Meanwhile, cover potatoes with water in a large saucepan; bring to a boil over high heat. Reduce heat to a simmer and cook covered until tender, about 20 minutes. Drain, reserving about 1/4 cup of liquid. Mash potatoes well; add cream, 2 tablespoons of the butter, and 1/2 teaspoon of the salt. Add reserved cooking liquid, 1 tablespoon at a time, to reach desired smoothness. Set aside.
- Melt 2 tablespoons of the butter in the bottom of a medium stockpot over high heat; add onion and cook, stirring occasionally, until very brown and caramelized, about 10 minutes. Remove to a bowl.
- Preheat oven to 350˚F. In the same stock pot, melt the remaining 2 tablespoons butter over medium heat; add flour and whisk until smooth and golden brown, about 8 minutes. Add reserved onion to the pot; add the remaining 1 teaspoon salt, pepper, celery, carrots, and beet. Stir in wine and water.
- Bring to a boil over high heat; reduce to medium-low and cook, covered, 12 minutes. Add zucchini and cook 5 minutes, uncovered. Add reserved roasted garlic and herbs; cook an additional 5 minutes. (Liquid should be reduced by about half.)
- Pour vegetable mixture into a 9×11-inch baking or casserole dish. Top with reserved mashed potatoes, using a rubber spatula to smooth into one even layer. Cover with cheese and bake 25 minutes, until potatoes are golden brown and cheese is crisping on the edges.
- Allow to cool 15 minutes before serving. Pie will be loose when fresh; leftovers are easier to slice and have great flavor.
*Note: This recipe makes a great veggie stock as a byproduct. As you prepare vegetables and herbs, throw ends, stems, and peels into a stockpot. Cover with water, bring to a boil, and turn to low. Simmer 1 hour+. Strain and freeze or store in a jar in the refrigerator and use for future recipes.