French Onion Potatoes land on the table with crispy edges, jammy onions, and a blanket of melted Gruyere that pulls into those perfect stretchy strands when you lift a forkful. The potatoes roast until their cut sides are deeply golden, then the onions bring that slow-cooked sweetness French onion fans love, along with just enough savory depth to keep the dish from tasting one-note. It’s the kind of side that disappears fast because it feels a little more special than standard roasted potatoes, but it still uses familiar, pantry-level ingredients.
The key is treating each part separately before bringing it together. The potatoes need high heat and enough space in the pan to brown instead of steam, while the onions need patience over medium-low heat so they turn soft and sweet without catching. A splash of beef broth and Worcestershire gives the onions that French onion soup character without making the potatoes soggy. By the time the cheese melts over the top, you get crisp, creamy, savory, and sweet all in one bite.
Below, you’ll find the easiest way to keep the potatoes crisp, how to get the onions properly jammy, and a few smart swaps if you need to work with what’s already in your kitchen.
The potatoes stayed crisp even after I added the onions, and the Gruyere melted into those little browned pockets on top. I served it with roast chicken, and the pan was scraped clean.
Save these French Onion Potatoes for the nights when you want crispy potatoes, caramelized onions, and melted Gruyere all in one skillet.
The Reason the Potatoes Stay Crisp Under All Those Onions
The trap with a dish like this is piling everything together too soon. If the potatoes go under the onions before they’ve browned, the steam from the onion mixture softens the edges and you lose that roasted bite. The fix is simple: roast the potatoes first until they’re properly golden, then add the onions only after they’ve turned jammy and most of their moisture has cooked off.
Another detail that matters is the skillet. An oven-safe pan gives you one less dish to wash, but it also helps the potatoes keep contact with the hot surface instead of sliding around on a sheet pan. That contact is what builds color. If your potatoes are crowded, spread them out more than you think you need to.
- Baby potatoes — Their thin skins crisp up nicely and their cut sides brown fast. If you swap in Yukon Golds, cut them into even chunks so they roast at the same pace.
- Yellow onions — These cook down into the sweet, soft base that makes the whole dish taste French onion-inspired. Red onions won’t give you the same mellow finish.
- Gruyere — This melts smoothly and brings that nutty, savory edge. Swiss cheese works in a pinch, but the flavor is milder.
- Beef broth and Worcestershire — These deepen the onion mixture without making it heavy. Vegetable broth will work if that’s what you have, but the result is a little less round and beefy.
What Each Ingredient Is Actually Doing in This Skillet

Baby potatoes hold their shape and give you the best balance of creamy centers and crisp edges. Halving them exposes enough surface area for browning, which matters more here than size alone.
Butter is what turns the onions from cooked to luxurious. Olive oil alone can soften them, but butter gives you the deeper flavor and glossy finish that reads like French onion soup.
Fresh thyme cuts through the richness. Dried thyme works if that’s what you have, but use less because it’s more concentrated and can take over the dish.
Gruyere is worth buying if you can find it. It melts into a smooth layer instead of turning greasy, and it gives the top that signature nutty bite. If you need a substitute, use a good Swiss or an aged provolone rather than pre-shredded cheese, which doesn’t melt as cleanly.
Building the Layers Without Losing the Crunch
Roasting the Potatoes First
Toss the halved potatoes with olive oil, salt, and pepper in an oven-safe skillet, then spread them into a single layer with cut sides down where possible. Roast them at 425F until the bottoms are deeply golden and the edges look crisp, not pale. If they’re still soft or blond, keep roasting; underbrowned potatoes go limp once the onions and cheese are added.
Cooking the Onions Until They Turn Jammy
Put the sliced onions into butter over medium-low heat and give them time. They should soften, collapse, and slowly turn deep gold without scorching at the edges. Stir now and then, scraping the pan so the fond doesn’t burn; if the heat is too high, the onions will brown before they sweeten.
Bringing in the Broth and Cheese
Stir the thyme, broth, and Worcestershire into the onions and let the liquid cook off until the onions look glossy and almost sticky. Spoon that mixture over the roasted potatoes instead of dumping it all at once, which keeps the crisp edges from getting buried. Finish with Gruyere and bake just until the cheese melts and bubbles; once it starts to brown, pull the skillet out so the potatoes underneath stay textured.
How to Adapt This for Different Tables and Leftovers
Make It Vegetarian
Swap the beef broth for a rich vegetable broth. You’ll still get the sweet onion flavor and the cheese finish, but the final dish will taste a little lighter and less brothy. Add an extra pinch of salt at the end if the broth tastes flat.
Use a Different Melting Cheese
If Gruyere is hard to find, Swiss or fontina will melt nicely. Fontina gives you a creamier pull and Swiss keeps the flavor close to the original, though neither has the same nutty depth as Gruyere. Avoid hard Parmesan as the main topping; it browns before it melts.
Reheat Without Softening the Potatoes Too Much
Store leftovers in the refrigerator for up to 3 days. Freezing isn’t the best move here because potatoes and melted cheese can turn grainy and watery after thawing. Reheat in a 400F oven or toaster oven until hot and the edges re-crisp; the microwave will warm it, but it also steams the potatoes and softens the topping.
Questions I Get Asked About This Recipe

French Onion Potatoes
Ingredients
Equipment
Method
- Preheat oven to 425F, then toss baby potatoes with olive oil, salt, and black pepper in an oven-safe cast iron skillet until evenly coated. Make sure the potatoes are spread in a single layer for browning.
- Roast at 425F for 30-35 minutes, until golden and crispy. Look for browned edges and a dry, crisp surface.
- Cook yellow onions in butter over medium-low heat for 25 minutes until deep golden and jammy. Stir occasionally so the onions soften and caramelize without burning.
- Stir in fresh thyme leaves, beef broth, and Worcestershire sauce, then simmer until the liquid is absorbed. Continue cooking until the mixture turns glossy and clings to the onions.
- Spoon the jammy onions over the roasted potatoes, spreading them evenly across the top. Use a spoon to press lightly so the onions sit on the crisp surface.
- Bake at 425F for 8-10 minutes, until the Gruyere is melted and bubbly. Watch for bubbling cheese and lightly browned spots.


