There are dishes you make on a Tuesday night and dishes you make when it matters. Lasagna is the latter — the kind of meal that fills the whole house with smell before you even sit down, that gets requested by name, that people remember.

It takes time. But most of that time is the oven doing the work. The hands-on portion is approachable even for beginners, and the results are genuinely restaurant quality.

This is the full classic version: a slow-cooked meat sauce, a smooth béchamel, and proper layering. No shortcuts, no jars of sauce — just good ingredients and a little patience.


What You’ll Need

Serves: 8–10 | Prep: 40 min | Cook: 1 hr 15 min | Total: ~2 hours

For the Meat Sauce (Bolognese)

  • 1 lb (450g) ground beef
  • 1/2 lb (225g) ground pork (or Italian sausage, removed from casing)
  • 1 medium onion, finely diced
  • 4 cloves garlic, minced
  • 2 medium carrots, finely diced
  • 2 stalks celery, finely diced
  • 2 cans (28 oz each) crushed tomatoes
  • 2 tablespoons tomato paste
  • 1/2 cup dry red wine (Chianti or Cabernet)
  • 1 teaspoon dried oregano
  • 1 teaspoon dried basil
  • 1 bay leaf
  • Salt and black pepper to taste
  • 2 tablespoons olive oil

For the Béchamel (White Sauce)

  • 4 tablespoons unsalted butter
  • 1/4 cup all-purpose flour
  • 3 cups whole milk, warmed
  • 1/4 teaspoon freshly grated nutmeg
  • Salt and white pepper to taste

For Assembly

  • 12–15 lasagna noodles (regular or no-boil)
  • 2 cups whole-milk ricotta cheese
  • 1 egg
  • 2 cups shredded mozzarella cheese
  • 1 cup freshly grated Parmesan, divided
  • Fresh basil or parsley for garnish

Step 1 — Build the Meat Sauce

This sauce is the foundation. Don’t rush it.

Heat olive oil in a large, heavy-bottomed pot or Dutch oven over medium heat. Add the onion, carrot, and celery. Cook, stirring occasionally, for about 8–10 minutes until the vegetables are soft and the onion is translucent.

Add the garlic and cook for another minute until fragrant.

Turn the heat up to medium-high. Add the ground beef and pork. Break it up with a wooden spoon and cook until fully browned, about 8–10 minutes. Drain off most of the excess fat, leaving a thin layer for flavor.

Add the tomato paste and stir it in. Let it cook for 2 minutes — this step cooks off the raw paste flavor and develops a deeper color.

Pour in the red wine and let it reduce for 3–4 minutes, scraping up any browned bits from the bottom of the pot.

Add both cans of crushed tomatoes, oregano, basil, and the bay leaf. Season well with salt and pepper. Stir everything together, bring to a simmer, then reduce heat to low and cook uncovered for at least 45 minutes — an hour is better. The sauce should reduce and thicken. Stir occasionally.

Remove the bay leaf. Taste and adjust seasoning.


Step 2 — Make the Béchamel

While the meat sauce simmers, make the white sauce.

Melt butter in a medium saucepan over medium heat. Add flour all at once and whisk constantly for 2 minutes — this cooks out the raw flour taste. The mixture (called a roux) will look like a pale paste.

Slowly pour in the warm milk, whisking continuously to prevent lumps. Add it in a thin stream at first, then gradually add more as the sauce loosens. Keep whisking.

Bring to a gentle boil, then reduce heat and simmer for 5–7 minutes, stirring frequently, until the sauce thickens enough to coat the back of a spoon. It should hold a finger trace when you run one through the sauce on the spoon.

Season with nutmeg, salt, and white pepper. Remove from heat.

Tip: If lumps form, use an immersion blender or strain through a fine mesh sieve.


Step 3 — Cook the Noodles

Bring a large pot of heavily salted water to a boil. Cook the lasagna noodles according to package directions, but pull them 2 minutes early — they’ll finish cooking in the oven.

Drain and lay noodles flat on lightly oiled baking sheets to prevent sticking. If using no-boil noodles, skip this step entirely.


Step 4 — Make the Ricotta Mixture

In a bowl, combine:

  • Ricotta cheese
  • 1 egg
  • 1/2 cup of the grated Parmesan
  • A pinch of salt and pepper
  • 2 tablespoons fresh basil or parsley if you have it

Stir until smooth.


Step 5 — Layer the Lasagna

Preheat your oven to 375°F (190°C).

Use a 9×13-inch baking dish. Here’s the layering order:

Layer 1 — Base: Spread about 1/2 cup of meat sauce on the bottom of the dish (this prevents sticking).

Layer 2 — Noodles: Lay 3–4 noodles lengthwise, slightly overlapping. Trim edges if needed.

Layer 3 — Ricotta: Spread 1/3 of the ricotta mixture in an even layer.

Layer 4 — Meat Sauce: Spoon 1/3 of the meat sauce over the ricotta.

Layer 5 — Béchamel: Drizzle 1/3 of the béchamel over the meat sauce.

Layer 6 — Mozzarella: Sprinkle a handful of shredded mozzarella.

Repeat layers 2–6 two more times. You should have three complete layers total.

Final top layer:

  • Noodles
  • Remaining béchamel (spread edge to edge so noodles don’t dry out)
  • Remaining mozzarella
  • Remaining Parmesan

Step 6 — Bake

Cover the dish tightly with aluminum foil (tent it slightly so it doesn’t stick to the cheese). Bake covered for 30 minutes.

Remove the foil and bake uncovered for another 20–25 minutes until the top is golden, bubbling, and spotted with brown on the cheese.

Critical step: Let the lasagna rest for at least 15 minutes before cutting. This is the hardest part. If you cut it straight from the oven, it’ll fall apart into a delicious but shapeless pile. Resting lets it firm up so you get clean, beautiful slices.


Serving Suggestions

Lasagna is a full meal on its own, but it loves company:

  • Garlic bread — crusty Italian bread, buttered with garlic, toasted under the broiler
  • Simple green salad — something light and acidic to cut through the richness
  • A glass of Chianti or Sangiovese — the same wine you used in the sauce

Leftovers reheat beautifully. Store covered in the fridge for up to 4 days, or freeze individual portions for up to 3 months. Reheat from frozen at 350°F, covered, for 45 minutes.


Variations Worth Trying

Vegetarian: Replace the meat sauce with a roasted vegetable sauce — zucchini, eggplant, bell peppers, and mushrooms. Same technique, different filling.

Spinach and ricotta: Layer in a handful of cooked, squeezed-dry spinach with the ricotta mixture. Excellent meatless option that still feels substantial.

Spicy sausage: Use hot Italian sausage instead of pork. The heat plays beautifully against the creamy béchamel.

Four cheese: Add dollops of fontina and pecorino romano alongside the mozzarella for a richer, more complex cheese layer.


A Few Notes on Technique

The béchamel matters more than you’d think. A lot of American lasagna recipes skip it in favor of extra ricotta. The béchamel gives the lasagna that silky, cohesive quality that makes it hold together and taste indulgent even in the center layers where you’d otherwise get dry ricotta.

Make the sauce the day before. Bolognese genuinely improves overnight. If you have time, make the meat sauce on Saturday, refrigerate it, and assemble the lasagna on Sunday. The flavors meld and deepen.

Go generous with cheese. This isn’t the time to be conservative. The cheese is structural as much as it is flavorful.


Lasagna is one of those recipes you’ll refine over years — adjusting the ratio of sauce to béchamel, finding your preferred cheese combination, nailing the rest time. But even on the first attempt, if you follow these steps, you’ll make something genuinely impressive.

Cook it for people you care about. That’s what it’s for.