Preheat oven to 425°F.
Melt butter in a large saucepan over medium heat.
Add onion and garlic; cook and stir until onion is crisp-tender and garlic is fragrant, about 2 to 3 minutes.
Stir in flour; cook and stir an additional minute.
Add half & half and cook, stirring constantly, until mixture boils and thickens, about 2 minutes.
Remove saucepan from heat. Stir in chopped spinach, water chestnuts, Cheddar cheese, and vegetable soup mix.
Spoon dip into a 1-quart casserole or gratin dish.
Sprinkle with Parmesan cheese.
Bake dip until bubbly and cheese is melted, about 10 to 15 minutes.
Serve warm.