French Onion Mac and Cheese Soup

Jonathan, The Candid Appetite

This soup is what you get when you combine two classic dishes into one mega comforting dish. It’s French onion soup meets mac and cheese and it’ll be your new favorite way to eat either dish!
15 min Prep Time
30 min Cook Time
  • Prep Time: 15 min
  • Cook Time: 30 min
  • Servings: 6 servings

Servings: 6 servings


  • For the Soup:

  • 4 tablespoons butter
  • 4 medium onions, thinly sliced
  • 1 1/2 teaspoons salt, divided
  • 3/4 teaspoon black pepper, divided
  • 2 bay leaves
  • 2 sprigs thyme
  • 1 cup dry white wine
  • 4 cups beef stock
  • For the Mac and Cheese:

  • 2 tablespoons butter
  • 2 tablespoons flour
  • 1 cup whole milk
  • 1/2 teaspoon salt
  • 1/4 teaspoon black pepper
  • 1/4 teaspoon dry mustard
  • 1/4 teaspoon cayenne pepper
  • 1 1/2 cups shredded gruyere cheese, divided
  • 3/4 cup shredded cheddar cheese
  • 4 ounces macaroni noodles, cooked according to package directions
  • 1/3 cup panko breadcrumbs


Step 1

Melt 4 tablespoons butter in a large pot over medium-high heat. Add onions and season with 1 teaspoon salt, 1/2 teaspoon black pepper, bay leaves and thyme. Cook until softened, the liquid has evaporated and the onions have browned, about 45 minutes to an hour. Add the wine and cook until it has fully absorbed. Stir in the stock and add 1 cup of water. Bring to a simmer and then cook until slightly reduced, about 30 minutes. Season with the remaining 1/2 teaspoon salt and 1/4 teaspoon black pepper. Lower heat and keep warm.

Step 2

In the meantime, set a medium saucepan over moderate heat with 2 tablespoons butter. Once melted, whisk in the flour and cook 30 seconds. Slowly whisk in the milk and cook until thickened. Season with salt, pepper, mustard and cayenne. Remove from heat and stir in 1 cup gruyere and cheddar cheese until melted; add prepared macaroni noodles, stir to combine.

Step 3

Divide the soup between six oven-safe ramekins or soup crocks. Top each with the mac and cheese. Sprinkle with remaining gruyere and panko. Place on a baking sheet and broil on high until the cheese has melted and the tops are golden brown, about 2-3 minutes. Serve warm and enjoy.