French Onion Stuffed Shells
Beautiful stuffed shells with a caramelized onion ricotta filling, a Gruyère cheese sauce, and a cheesy breadcrumb topping.
Serves6
Prep1 hour
Cook1 hour 30 minutes
This recipe is part of Kitchn 100 — the hundred recipes you need right now. Check out all of the amazing dishes, from Kitchn and beyond, here.
Stuffed shells will forever bring me joy — partly because I grew up eating them, but also because they allow full flexibility to whichever flavors I’m currently craving. With a caramelized onion ricotta filling, Gruyère cheese sauce, and a cheesy breadcrumb topping, these shells are inspired by French onion soup. Each component tastes complex on its own, but everything comes together to make the perfect bite.
I know that stuffing each individual shell might seem like a commitment, but stuffed shells lend themselves well to meal prep. I love making this dish ahead of time whenever I know that it’s going to be a busy week and I won’t have much time to cook. Assembled and unbaked, it stores well in the fridge for up to five days or in the freezer for up to three months.
French Onion Stuffed Shells Recipe
Beautiful stuffed shells with a caramelized onion ricotta filling, a Gruyère cheese sauce, and a cheesy breadcrumb topping.
Prep time 1 hour
Cook time 1 hour 30 minutes
Serves6
Nutritional Info
Ingredients
- About 2 pounds
yellow onions, preferably large
- 5 tablespoons
olive oil, divided
- 30
dried jumbo pasta shells (about 8 ounces)
- 6 ounces
Parmesan cheese (or 2 cups store-bought grated), divided
- 8 ounces
Gruyère cheese
- 1 medium bunch
scallions
- 4 tablespoons (1/2 stick)
unsalted butter
- 1/4 cup
all-purpose flour
- 1 1/2 cups
whole milk
- 1 1/2 cups
beef broth
- 2 teaspoons
Worcestershire sauce
Salt
- 3 large cloves
garlic
- 6 sprigs
fresh thyme, divided
- 1 (15 to 16-ounce) container
ricotta cheese (about 2 cups)
- 1 1/2 teaspoons
freshly ground black pepper, divided
- 1/2 cup
bread crumbs
Instructions
Thinly slice about 2 pounds yellow onions (about 6 cups). Heat 2 tablespoons of the olive oil in a large skillet over medium-low heat until shimmering. Add the onions and cook, stirring every 8 to 10 minutes, until they are caramelized and jammy, 45 to 50 minutes total. Meanwhile, cook the pasta, make the sauce, and prepare the remaining ingredients.
Arrange a rack in the middle of the oven and heat the oven to 375°F. Coat a rimmed baking sheet with 1 tablespoon of the olive oil. Bring a large pot of heavily salted water to a boil. Add 30 dried jumbo pasta shells and cook until al dente, 8 to 9 minutes. Drain the pasta well. Transfer to the baking sheet and arrange into a single layer.
Grate 6 ounces Parmesan cheese on the smallest holes of the box grater (about 2 cups), or measure out 2 cups store-bought grated; transfer half to a large bowl and the remaining half to a medium bowl. Grate 8 ounces Gruyère cheese on the large holes of a box grater (about 2 cups).
Trim and thinly slice 1 medium bunch scallions (about 1 cup). Transfer half to the medium bowl and the remaining half to the large bowl.
Melt 4 tablespoons (1/2 stick) unsalted butter in a medium saucepan over medium heat. Add 1/4 cup all-purpose flour and stir constantly until light brown in color, about 2 minutes. Add 1 1/2 cups whole milk, 1 1/2 cups beef broth, and 2 teaspoons Worcestershire sauce, and whisk to combine. Bring to a simmer, then simmer until thick enough to coat the back of a spoon, about 5 minutes.
Add the Gruyère and stir until melted. Remove the saucepan from the heat. Taste and season with salt as needed.
Thinly slice 3 large garlic cloves (about 1 tablespoon). Pick the leaves from 6 fresh thyme sprigs until you have 1 tablespoon; add half to the medium bowl. When the onions are almost ready, add the garlic and remaining thyme and cook for 5 minutes more.
Add the caramelized onions, 1 (15 to 16-ounce) container ricotta cheese, and 3/4 teaspoon of the black pepper to the large bowl and stir to combine. Taste and season with salt as needed.
Add the remaining 2 tablespoons olive oil, remaining 3/4 teaspoon black pepper, and 1/2 cup panko breadcrumbs to the medium bowl and stir to combine.
Assemble the stuffed shells: Pour half of the cheese sauce (about 1 1/2 cups) into a 9x13-inch baking dish and spread into an even layer. Stuff the onion mixture into the shells with a spoon (about a heaping tablespoon in each) and place them filling-side up in the dish. (Alternatively, transfer the filling into a zip top bag, cut off a bottom corner, and pipe the filling into the shells.)
Spoon the remaining cheese sauce evenly over the shells. Sprinkle evenly with breadcrumb mixture.
Bake until the breadcrumbs are golden brown and the sauce is bubbling, 30 to 35 minutes. Let cool for 10 minutes before serving.
Recipe Notes
Dried thyme: 3/4 teaspoon dried thyme can be substituted for the fresh. Use half in the caramelized onions and mix the remaining half into the breadcrumb mixture.
Make ahead: The stuffed shells can be assembled in the baking dish, cooled, covered, and refrigerated for up to 5 days or frozen for up to 3 months. If frozen, thaw overnight in the refrigerator. Uncover and bake as directed, adding more baking time as needed.
Storage: Leftovers can be refrigerated in an airtight container for up to 4 days.