Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
Export 8 ingredients for grocery delivery
Step 1
Preheat oven to 400 degrees. Line a baking sheet with aluminum foil. Bake whole onions, skin on, root-side down, until soft but not falling apart, 50-60 minutes. (Insert a skewer in onion to test doneness.) Cool until warmish.
Step 2
Prepare a béchamel: Heat milk in a small saucepan over medium heat until just under boiling, about 5 minutes. In another small saucepan over medium heat, melt butter. Add flour and whisk with a small whisk for 1 minute. Reduce heat to low, whisk in milk and cook until thickened, 3-4 minutes. Turn off heat and add cheese and ham. Season with salt and pepper to taste. Let cool.
Step 3
Cut off stem end of onions about ¾ inch from top. Remove skin and discard. Exterior should now be an edible layer. Use a grapefruit spoon or teaspoon to remove much of center flesh of onion and reserve center flesh. You should be left with about 3 layers that make a shell for stuffing. Set aside.
Step 4
Use a knife or a food processor to finely chop ⅔ of reserved center flesh from onion. Add chopped onion flesh to béchamel and mix well. Use a soup spoon to fill empty onion shells with onion-béchamel filling. (If you have leftover filling, try using it in an omelet or as a topping to melt on toast.)
Step 5
Place filled onions in a baking dish where they fit tightly nestled together. Top with breadcrumbs and drizzle with olive oil. Bake until filling bubbles and tops are golden brown, 50 minutes.