Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
4.0
(7)
Export 12 ingredients for grocery delivery
Step 1
If using fresh spinach, bring a large pot three-quarters full with water to a boil over high heat. Season the water with a generous amount of salt. Add 1 1/4 pounds baby spinach and cook, stirring constantly, until just wilted, 20 to 30 seconds. Drain well. When cool enough to handle, transfer in batches to a clean kitchen towel. Roll up the spinach in the towel and squeeze out as much excess water as possible.
Step 2
If using frozen spinach, thaw 2 (10-ounce) boxes according to package directions. Drain, then squeeze out the excess liquid from the spinach a handful at a time.
Step 3
Finely chop 1 medium shallot (about 1/3 cup). Mince 3 garlic cloves. Grate 2 ounces Gruyère cheese on the large holes on a box grater (about 1/2 cup). Finely grate 1 ounce Parmesan cheese (about 1/2 cup firmly packed) on a Microplane or the small holes of the box grater, or measure out 1/3 cup store-bought grated.
Step 4
Melt 2 tablespoons unsalted butter in a medium skillet over medium heat. Add the shallot, garlic, and 1/8 teaspoon red pepper flakes. Cook until fragrant and the shallot looks translucent, about 1 minute. Sprinkle 1 tablespoon all-purpose flour over the shallot and cook, stirring constantly, until the flour turns light golden-brown and smells toasty, about 1 minute.
Step 5
Add 1 1/2 cups whole milk, 1/2 cup heavy cream, 1 teaspoon ground powdered mustard, 1 teaspoon kosher salt, 1/2 teaspoon black pepper, 1/2 teaspoon ground ginger, and 1/8 teaspoon ground nutmeg. Cook, stirring occasionally, until the sauce is thickened, 1 to 2 minutes.
Step 6
Add the spinach and stir to combine. Add the Gruyère and Parmesan and cook until the cheeses are melted and everything is combined but still saucy, 1 to 2 minutes.