Go Back

German-Style Mac & Cheese

A warm and comforting dish of gooey cheese and tender spätzle, topped with crispy onions. Perfect for family dinners or holiday gatherings.
Prep Time 15 minutes
Cook Time 30 minutes
Total Time 45 minutes
Servings: 6 servings
Course: Comfort Food, Main Course
Cuisine: German
Calories: 600

Ingredients
  

Main Ingredients
  • 12 oz spätzle (fresh, or dried)
  • 4 tbsp butter 2 tbsp for spätzle + 2 tbsp for frying onions
  • 2 large yellow onions, thinly sliced
  • 8 oz Emmental cheese, grated
  • 6 oz Gruyère (or Bergkäse), grated
  • 1 cup heavy cream (or half-and-half)
  • 1/2 cup milk (or unsweetened plant milk) for vegan option
  • 1 tsp Dijon mustard
  • 1/4 tsp freshly grated nutmeg
  • 1 cup crispy fried onions (Röstzwiebeln) or homemade fried shallots
  • 2 tbsp chopped chives or parsley optional, for garnish
  • 2 large eggs, lightly beaten optional, fold in off heat for extra creaminess

Method
 

Preparation
  1. Preheat oven to 350°F (175°C). Grease a 9x13-inch (or similar) baking dish.
  2. Bring a large pot of salted water to a boil. Cook spätzle according to package instructions: fresh spätzle 2–4 minutes, dried 8–10 minutes. Drain and toss with 2 tbsp butter.
Cooking
  1. Melt 2 tbsp butter in a large skillet over medium heat. Add sliced onions and a pinch of salt; cook, stirring occasionally, until deeply golden and caramelized, 15–20 minutes. Reduce heat if they brown too fast.
  2. In a saucepan, combine cream and milk over low heat. Stir in Dijon, nutmeg, salt, and pepper. Warm until just simmering, about 3–4 minutes. Do not boil.
  3. Remove saucepan from heat and add grated Emmental and Gruyère a handful at a time, stirring until smooth and melted — about 2–3 minutes. If using eggs for extra silkiness, temper them: whisk a few tablespoons of hot cream into beaten eggs, then stir the egg mixture into the sauce off heat.
  4. Toss the cooked spätzle with the cheese sauce until evenly coated. Taste and adjust salt/pepper.
  5. Layer half the spätzle-cheese mix into the prepared baking dish. Sprinkle half the caramelized onions and a little more cheese. Add the remaining spätzle and top with remaining onions and extra cheese.
  6. Bake at 350°F (175°C) for 15–20 minutes, until cheese is melted and edges are bubbling. For a golden top, broil 1–2 minutes — watch closely.
  7. Remove from oven, let rest 5 minutes, then sprinkle with crispy fried onions and chopped chives. Serve hot.
Quick Stovetop Option
  1. Skip the oven and serve immediately after tossing spätzle with the cheese sauce, topping with caramelized and crispy onions.

Notes

Gluten-free: use gluten-free spätzle or your favorite GF short pasta. Low-carb: replace spätzle with roasted cauliflower florets. Vegetarian: use vegetarian-friendly cheeses if needed. Vegan: substitute cream and cheese. Store leftovers in an airtight container for 3–4 days.