All the flavors of French onion soup—sweet caramelized onions, thyme, and melty Gruyère—baked into the juiciest meatloaf. It’s cozy comfort food that’s easy enough for weeknights and special enough for Sunday dinner. Leftovers make epic sandwiches.
Heat butter and olive oil in a large skillet over medium-low heat.
Add onions, sprinkle with salt, and cook slowly, stirring occasionally, for 25–30 minutes until deep golden brown. Stir in thyme and balsamic vinegar (if using). Reserve about ½ cup for topping and let the rest cool for the meat mixture.
In a large mixing bowl, whisk together eggs, milk, Dijon, Worcestershire, garlic powder, onion powder, smoked paprika, salt, and pepper. Stir in breadcrumbs and let sit for 5 minutes so they absorb the liquid.
Add ground beef, ground pork, most of the caramelized onions, and Gruyère cheese. Mix gently with your hands until just combined, do not overmix.
Preheat oven to 375°F (190°C).
Line a baking sheet with parchment paper or lightly oil a loaf pan. Shape the mixture into a loaf and place it on the sheet (or into the pan). Bake uncovered for 40 minutes.
Remove meatloaf from oven and top with reserved caramelized onions and Gruyère cheese. Return to oven for 15–20 minutes, until cheese is melted, bubbly, and meatloaf reaches 160°F (71°C) internally.
Let rest 10 minutes before slicing. Garnish with fresh parsley.
Notes
Caramelized Onions: Low and slow for 25–30 minutes until deep golden; a splash of balsamic or beef broth adds extra depth.
Don’t Overmix: Fold the meat mixture gently for a tender texture.
Bake Temp: Cook to an internal temp of 160°F; rest 10 minutes before slicing.
Gluten-Free Swap: Use oat flour, ground oats, or almond flour in place of breadcrumbs.
Pan Choice: Free-form on a sheet pan = more browned edges; loaf pan = sliceable shape.