It tastes like French onion soup decided to become an actual meal. And once you make it, you’ll be thinking about it for days.
Recipe at a Glance
| Detail | Info |
|---|---|
| Prep Time | 20 minutes |
| Cook Time | 55 minutes |
| Total Time | 1 hour 15 minutes |
| Servings | 6 |
| Difficulty | Easy |
| Oven Temp | 375°F (190°C) |
This is the kind of dish that looks impressive enough to serve guests but is secretly so easy that you could make it on a Tuesday with zero stress.
Caramelized onions. Tender chicken. Orzo that soaks up all those savory, buttery juices. And a layer of melted Gruyère on top that gets golden and bubbly in the oven.
That’s it. That’s the whole pitch.
If you’ve ever loved French onion soup, this is essentially the cozy, hearty version you didn’t know you needed. And if you’ve somehow never tried French onion soup… this is a great place to start 😄
What You’ll Need
For the Caramelized Onions
- 3 large yellow onions, thinly sliced
- 3 tablespoons unsalted butter
- 1 tablespoon olive oil
- 1 teaspoon granulated sugar
- 1/2 teaspoon salt
- 1/3 cup dry white wine (or beef broth)
For the Casserole
- 1.5 lbs boneless, skinless chicken thighs (about 4–5 thighs), cut into bite-sized pieces
- 1.5 cups dry orzo pasta (uncooked)
- 3 cups chicken broth (low-sodium)
- 1 cup beef broth (this is the French onion soup secret 👇)
- 1 tablespoon Worcestershire sauce
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- 1 teaspoon dried thyme
- 1/2 teaspoon black pepper
- 1/2 teaspoon salt
- 1 tablespoon olive oil
For the Topping
- 1.5 cups shredded Gruyère cheese
- 1/2 cup shredded mozzarella cheese
- Fresh thyme sprigs (optional, for garnish)
Tools You’ll Need
- Large oven-safe skillet or Dutch oven (a 12-inch cast iron skillet is perfect)
- Sharp chef’s knife
- Cutting board
- Wooden spoon or silicone spatula
- Cheese grater
- Measuring cups and spoons
- Aluminum foil

Pro Tips
These are the things that’ll make your casserole actually taste like a restaurant made it:
- Don’t rush the onions. Caramelizing onions properly takes 30–40 minutes on low heat. Speed this up and they’ll taste bitter instead of sweet and jammy. It’s the most important step in this whole recipe.
- Use both broths. Chicken broth alone keeps things mild. The beef broth is what gives it that deep, dark, savory French onion flavor. Don’t skip it.
- Chicken thighs over breasts. Thighs stay juicy as the casserole bakes. Chicken breasts tend to dry out in a casserole setting. You can use breasts if you prefer, but thighs are genuinely better here.
- Grate your own cheese. Pre-shredded cheese has anti-caking agents that stop it from melting properly. Freshly grated Gruyère melts into a silky, golden layer. That visual bubble? It only happens with freshly grated.
- Let it rest before serving. Pull it from the oven and let it sit for 5–10 minutes. The orzo continues absorbing liquid as it sits, and the texture becomes perfect instead of soupy.
How to Make It
Step 1: Caramelize the Onions (30–40 minutes)
Heat 3 tablespoons of butter and 1 tablespoon of olive oil in your large oven-safe skillet over medium-low heat.
Add the thinly sliced onions, sugar, and salt. Stir to coat everything in the butter.
Cook low and slow, stirring every 5–8 minutes, until the onions are deeply golden brown and soft. This takes 30–40 minutes. Again — don’t rush it.
Once caramelized, add the white wine (or broth) and scrape up any brown bits stuck to the bottom. Let it cook for 2 more minutes until most of the liquid evaporates.
Transfer the onions to a bowl and set aside.
Step 2: Brown the Chicken (8–10 minutes)
Preheat your oven to 375°F (190°C).
In the same skillet (don’t clean it — those browned bits are flavor), heat 1 tablespoon of olive oil over medium-high heat.
Add the chicken pieces. Season with garlic powder, onion powder, thyme, salt, and pepper.
Cook for 3–4 minutes per side until golden brown on the outside. The chicken doesn’t need to be cooked through yet — it’ll finish in the oven.
Remove the chicken and set aside with the onions.
Step 3: Build the Casserole (5 minutes)
Keep the skillet on medium heat.
Add the dry orzo directly to the skillet and toast it for 1–2 minutes, stirring constantly. This gives the orzo a slightly nutty flavor and keeps it from getting mushy.
Pour in the chicken broth, beef broth, and Worcestershire sauce. Stir to combine.
Add the caramelized onions and browned chicken back into the skillet. Stir everything together gently.
Step 4: Bake (25–30 minutes)
Cover the skillet tightly with aluminum foil and bake at 375°F for 20 minutes.
Remove the foil, stir gently, then sprinkle the Gruyère and mozzarella over the top.
Return to the oven uncovered for another 10–12 minutes until the cheese is melted and starting to bubble and brown.
For extra color, switch to broil for the final 2–3 minutes and watch it closely.
Step 5: Rest and Serve
Pull it out of the oven and let it rest for 5–10 minutes before serving.
Garnish with fresh thyme if you have it. Serve straight from the skillet.
Substitutions and Variations
Cheese swaps:
- No Gruyère? Swiss cheese is the closest substitute.
- Fontina works beautifully too.
- For a sharper flavor, try a mix of Gruyère and sharp white cheddar.
Broth options:
- All chicken broth works if you don’t have beef broth — the flavor will be lighter but still great.
- Vegetable broth can work if you’re cooking for someone who avoids beef.
Protein swaps:
- Rotisserie chicken (shredded) works perfectly here. Skip the browning step and stir it in with the onions.
- Mushrooms can replace the chicken entirely for a vegetarian version. Use extra broth to compensate.
Add-ins:
- A handful of baby spinach stirred in before baking adds color and nutrition.
- Sun-dried tomatoes add a nice pop of tangy flavor.
- A pinch of crushed red pepper flakes adds subtle heat.
Make-Ahead Tips
This dish is great for meal prepping because most of the work is in the onions — and those can be done days in advance.
- Caramelized onions: Make them up to 5 days ahead and store in an airtight container in the fridge.
- Full casserole, unbaked: Assemble everything through Step 3, cover tightly, and refrigerate for up to 24 hours. Add 10 extra minutes to the bake time since it’ll be cold going in.
- Fully baked: You can bake it completely, cool, refrigerate, and reheat it the next day. Add a splash of broth before reheating to keep the orzo from drying out.
Leftovers and Storage
In the fridge: Store leftovers covered for up to 4 days. The orzo absorbs more liquid overnight, so the texture gets even thicker (which honestly makes for an incredible next-day lunch).
Reheating: Add 2–3 tablespoons of chicken broth before reheating on the stovetop or in the microwave. This brings it back to a creamy, saucy consistency.
Freezing: This casserole freezes well. Cool completely, portion into airtight containers, and freeze for up to 3 months. Thaw overnight in the fridge before reheating.
Nutritional Breakdown (Per Serving, Approximate)
| Nutrient | Amount |
|---|---|
| Calories | ~520 kcal |
| Protein | 38g |
| Carbohydrates | 42g |
| Fat | 21g |
| Fiber | 2g |
| Sodium | ~680mg |
Based on 6 servings. Numbers will vary depending on brands and exact quantities used.
Meal Pairing Suggestions
This casserole is filling on its own, but if you want to round out the meal:
- Simple green salad with a light vinaigrette to cut through the richness
- Crusty French bread for scooping up every last bit of that sauce
- Roasted asparagus or green beans for something fresh alongside
- A glass of dry white wine (Chardonnay or Sauvignon Blanc pairs perfectly with the Gruyère)
FAQ
Can I use chicken breasts instead of thighs?
You can, but the texture won’t be as juicy. If you use breasts, cut them into larger pieces and reduce the bake time slightly to avoid drying them out.
My orzo is still crunchy after baking — what happened?
This usually means the broth didn’t fully absorb. Cover the dish and return it to the oven for another 5–10 minutes. Every oven runs slightly different.
Can I make this in a regular casserole dish instead of a skillet?
Yes. Just do all the stovetop steps in a regular pan, then transfer everything to a greased 9×13-inch casserole dish before baking.
Is Gruyère necessary or can I use something cheaper?
Gruyère is worth it here — it’s the cheese that makes French onion soup taste the way it does. Swiss cheese is the closest budget-friendly alternative.
The casserole looks soupy when it comes out of the oven. Is that normal?
Yes! Let it rest for 5–10 minutes. The orzo will absorb the remaining liquid and it’ll firm up into a perfect, scoopable consistency.
Can I make this dairy-free?
You’d need to skip the butter (use all olive oil for the onions) and swap the cheese for a dairy-free alternative. The flavor will be different, but it still works.
Wrapping Up
If you’ve been looking for a dinner that feels special without requiring a culinary degree, this is it.
The caramelized onions alone are worth the effort. The kind of deep, sweet, savory flavor you get from properly cooked onions is the difference between a good dish and one you keep thinking about days later.
And the fact that it all comes together in one pan? That’s just a bonus.
Give it a try and come back to tell me how it went. Did you make any swaps? Did your family love it? Did you stand over the sink eating straight from the skillet at midnight? (No judgment. I’ve been there.)
Drop your comments and questions below — I read every single one 👇