Step 1
Bring a large saucepan of salted water and to a boil; add russet potatoes to boiling water and cook until very tender about 20 minutes. Drain well. Mash in 3 tablespoons butter until thoroughly combined. Season with nutmeg salt black pepper and cayenne pepper to taste. Mash 1/2 cup milk into potato mixture until smooth.
Step 2
Drizzle olive oil in a large Dutch oven over medium-high heat add spinach and season with a big pinch of salt. Cook stirring occasionally until spinach has wilted about 1 minute. Transfer to a bowl lined with paper towels to wick away excess moisture.
Step 3
Heat 3 tablespoons butter and flour in a saucepan over medium heat; whisk mixture to a smooth paste. Cook stirring constantly until mixture has a nutty smell and is slightly browned about 2 minutes. Add chopped garlic; whisk until fragrant 10 to 20 seconds.
Step 4
Whisk 1 cup cold milk into flour mixture; cook until thickened. Whisk in remaining 1 cup milk and lemon zest. Bring white sauce to a gentle simmer whisking constantly; season with salt. Turn heat to very low and keep sauce warm.
Step 5
Preheat oven to 375 degrees F (190 degrees C). Grease an 8x12-inch casserole dish with 1 tablespoon butter.
Step 6
Season buttered pan with salt black pepper and cayenne pepper. Lay boneless cod fillets into the pan in a single layer. Season tops of fillets with more salt black pepper and cayenne pepper. Spread spinach evenly over fish and drizzle with lemon juice. Spoon white sauce over spinach; give casserole dish several taps and shakes to eliminate bubbles.
Step 7
Drop mashed potatoes by heaping spoonfuls over the casserole and spread smoothly to cover. Place dish onto a rimmed baking sheet to catch spills.
Step 8
Bake in the preheated oven until bubbling about 40 minutes. Turn on oven's broiler and broil until potato crust has a golden brown top about 2 minutes. Fish should flake easily. Let stand 10 minutes before serving. Garnish with a sprinkle of chives.