This is the lasagna you make when you want to do it properly.
Not the version with jarred sauce and a prayer.
Not the shortcut version.
The real one — with a from-scratch meat sauce that simmers until it’s deep and rich, a properly seasoned ricotta filling, perfectly layered noodles, and enough mozzarella to pull dramatically when you lift a slice.
It takes about 90 minutes start to finish.
Most of that is hands-off simmering and baking.
And the result is genuinely better than anything you’ve ordered at a restaurant — because you control every layer, every seasoning, and every decision.
This is the recipe. Let’s make it properly. 🍝
Saves as PDF to your device
Why From-Scratch Makes All the Difference
Store-bought marinara is convenient — but it’s also the single biggest reason most homemade lasagnas taste like homemade lasagna rather than restaurant lasagna.
A from-scratch meat sauce takes 30–35 minutes and transforms everything. You’re building flavor in layers: browning the meat properly (not just cooking it through), caramelizing the onion and garlic, blooming the tomato paste, and letting the whole thing reduce until it’s thick enough to hold between layers without making the pasta soggy.
That sauce is what makes this version worth making.
Ingredients
Serves: 8–10 | Prep Time: 30 minutes | Cook Time: 60 minutes | Total Time: 1 hour 30 minutes | Pan Size: 9×13 inch
For the From-Scratch Meat Sauce

- 1 lb (450g) ground beef (80/20 — the fat carries flavor)
- ½ lb (225g) Italian sausage, casings removed (optional but highly recommended)
- 1 medium white onion, finely diced
- 4 garlic cloves, minced
- 2 tbsp tomato paste
- 1 can (28 oz / 800g) crushed San Marzano tomatoes
- 1 can (14 oz / 400g) diced tomatoes
- 1 tsp dried oregano
- 1 tsp dried basil
- ½ tsp fennel seeds (the secret Italian sausage flavor — even without sausage)
- ½ tsp red pepper flakes
- 1 tsp sugar (balances the tomato acidity)
- Salt and black pepper to taste
- 2 tbsp olive oil
For the Ricotta Filling

- 32 oz (900g / 2 tubs) whole-milk ricotta cheese (full-fat only — part-skim gets watery)
- 1 large egg
- ½ cup (50g) Parmesan cheese, freshly grated
- 2 tbsp fresh parsley, finely chopped (or 1 tsp dried)
- 1 tsp garlic powder
- ½ tsp salt
- ¼ tsp black pepper
- ¼ tsp ground nutmeg (classic Italian touch — don’t skip it)
For Assembly

- 12–15 lasagna noodles (regular dried, not no-boil — they give better texture)
- 3 cups (300g) low-moisture mozzarella, shredded (not fresh — fresh is too watery)
- ½ cup (50g) Parmesan cheese, freshly grated
- Fresh basil leaves for garnish (optional)
Equipment You’ll Need
- Large deep skillet or Dutch oven
- Large pot for boiling noodles
- 9×13 inch baking dish (glass or ceramic preferred)
- Mixing bowl
- Aluminum foil
Step-by-Step Instructions
Step 1 — Make the From-Scratch Meat Sauce (30–35 minutes)

- Heat olive oil in a large skillet or Dutch oven over medium-high heat until shimmering.
- Add the ground beef and Italian sausage. Do not stir immediately — let it sit for 2 minutes to develop a brown crust. This browning (Maillard reaction) is where the deep flavor comes from. Then break it up and cook until fully browned, about 8 minutes total.
- Drain excess fat — leave about 1 tablespoon in the pan for flavor.
- Push the meat to the side. Add onion to the empty side of the pan and cook over medium heat for 5 minutes until softened and slightly golden.
- Add garlic and cook 1 minute until fragrant.
- Add tomato paste. Stir and cook for 2 minutes, stirring constantly — this “blooms” the tomato paste and removes the raw taste.
- Add crushed tomatoes, diced tomatoes, oregano, basil, fennel seeds, red pepper flakes, and sugar.
- Stir everything together and bring to a simmer.
- Reduce heat to low and simmer uncovered for 20–25 minutes, stirring occasionally, until the sauce has thickened considerably and the oil has separated slightly from the surface. This is your sign it’s ready.
- Taste and adjust salt and pepper. The sauce should be slightly over-seasoned — it will mellow when baked with the other layers.
Step 2 — Make the Ricotta Filling (5 minutes)

- Combine ricotta, egg, Parmesan, parsley, garlic powder, salt, pepper, and nutmeg in a large bowl.
- Mix thoroughly until completely smooth.
- Taste it. It should taste genuinely good on its own — season more if needed. Underseasoned ricotta is the second most common lasagna mistake after thin sauce.
- Set aside.
Step 3 — Cook the Noodles (10 minutes)
- Bring a large pot of generously salted water to a rolling boil. The water should taste like the sea.
- Cook lasagna noodles for 2 minutes less than the package directions (they’ll finish cooking in the oven).
- Drain and lay flat on a lightly oiled baking sheet to prevent sticking. Don’t pile them — they’ll stick together.
Step 4 — Assemble the Lasagna
Preheat oven to 375°F (190°C).
Layer in this exact order:
| Layer | What Goes In |
|---|---|
| 1 (bottom) | Thin layer of meat sauce (prevents sticking) |
| 2 | 3–4 noodles (slightly overlapping) |
| 3 | ½ of the ricotta filling — spread to edges |
| 4 | 1 cup shredded mozzarella |
| 5 | Generous ladle of meat sauce |
| 6 | 3–4 noodles |
| 7 | Remaining ricotta filling |
| 8 | 1 cup mozzarella |
| 9 | Generous ladle of meat sauce |
| 10 | 3–4 noodles (final layer) |
| 11 (top) | All remaining sauce + 1 cup mozzarella + Parmesan |
Key tip: Every layer of sauce should reach the edges of the pan — exposed pasta edges burn and dry out.
Step 5 — Bake
- Cover tightly with aluminum foil. Spray the underside of the foil with cooking spray so it doesn’t stick to the cheese.
- Bake at 375°F (190°C) for 25 minutes covered.
- Remove foil and bake for an additional 20–25 minutes until the top is deep golden brown and bubbly.
- The lasagna is done when a knife inserted in the center comes out hot to the touch.
- Rest for 15 minutes before cutting. This is not optional — cutting immediately causes the layers to slide. The rest allows everything to set into clean, stackable slices.
The Layering Visual Guide
TOP → Remaining Meat Sauce + Mozzarella + Parmesan
Noodles (3-4, overlapping slightly)
Meat Sauce
Mozzarella (1 cup)
Remaining Ricotta Filling
Noodles (3-4, overlapping slightly)
Meat Sauce
Mozzarella (1 cup)
Half the Ricotta Filling
Noodles (3-4, overlapping slightly)
BOT → Thin layer of Meat Sauce (prevents sticking)
Saves as PDF to your device
Pro Tips That Make the Difference
Use whole-milk ricotta. Part-skim ricotta releases water during baking and makes the layers soupy. The full-fat version stays creamy and holds its shape.
Brown the meat properly. Don’t add the onion until the meat has actual browning on it. Gray cooked meat ≠ browned meat. You want caramelization, not steaming.
Simmer the sauce until thick. A thin sauce makes soggy lasagna. It should be thick enough that when you drag a spoon through it, the line holds for a few seconds.
Under-cook the noodles. They cook more in the oven. Al dente going in = perfect coming out. Fully cooked going in = mushy coming out.
Rest, rest, rest. 15 minutes minimum. If you’re making this for guests, make it 30 minutes — it will still be piping hot inside and the slices will be perfect.
Season every layer. The ricotta, the sauce, between layers — don’t rely on the sauce alone to carry the flavor.
Make-Ahead Strategy
Assemble the night before: Assemble completely, cover tightly with foil, and refrigerate overnight. Add 15 extra minutes to the covered baking time when cooking from cold.
Freeze before baking: Assemble in a freezer-safe dish, cover with foil, and freeze for up to 3 months. Thaw in the fridge overnight before baking. Bake as directed, adding 20 extra minutes covered.
Freeze after baking: Cool completely. Cut into individual portions, wrap each tightly in foil and cling film. Freeze up to 3 months. Reheat individual pieces covered at 350°F (175°C) for 25 minutes.
Best day: Lasagna is genuinely better on day 2. The layers compress, the flavors deepen, and the slices cut perfectly. Make it Sunday, refrigerate, eat Monday.
Storage & Reheating
| Method | Duration | Instructions |
|---|---|---|
| Refrigerator | Up to 5 days | Covered tightly with foil or in airtight container |
| Freezer | Up to 3 months | Wrapped individually in foil + cling film |
| Reheat (oven) | — | 350°F (175°C), covered, 25 min for full pan |
| Reheat (microwave) | — | Individual slice, covered, 2–3 min on medium |
Variations
Vegetarian Lasagna — Replace the meat entirely with: sautéed mushrooms (brown them well so they don’t release water), wilted spinach (squeeze ALL water out), and roasted zucchini. Keep everything else identical.
White Lasagna (No Red Sauce) — Replace the meat sauce with a béchamel (butter + flour + milk + Parmesan). Use chicken, mushrooms, or spinach as the filling. Completely different dish, equally impressive.
Spicy Lasagna — Double the red pepper flakes and add ½ tsp smoked paprika to the sauce.
Three-Cheese Lasagna — Add a layer of sliced provolone between the ricotta and mozzarella layers.
What to Serve With It
Garlic bread — Essential. The best use for leftover sauce is dunking bread into it.
Simple green salad — Romaine, cherry tomatoes, olives, red onion, Italian dressing. The acidity cuts through the richness perfectly.
Wine — Chianti Classico is the traditional pairing. A Montepulciano d’Abruzzo or a California Zinfandel also work beautifully.
Common Mistakes (And How to Avoid Them)
Watery lasagna — Sauce too thin, ricotta not drained, fresh mozzarella used. Fix: thicken the sauce, use whole-milk ricotta, use low-moisture mozzarella.
Dry or burnt edges — Sauce didn’t reach the edges, oven too hot, or no foil for the first baking phase. Fix: sauce to every edge, foil on for first 25 minutes.
Layers sliding when cut — Cut too soon. Fix: rest 15 minutes minimum.
Bland taste — Under-seasoned ricotta and under-developed sauce. Fix: season every layer, brown the meat properly, simmer the sauce long enough.
Mushy pasta — Noodles fully cooked before baking. Fix: under-cook by 2 minutes before assembly.
FAQ
Yes, but you need more sauce — no-boil noodles absorb liquid from the surrounding sauce to cook. If your sauce is thick, the noodles will stay hard. Add ¼ cup water or extra sauce per layer if using no-boil.
Absolutely — see the vegetarian variation above. The from-scratch tomato sauce without meat is still deeply flavorful.
Three reasons: sauce too thin, ricotta released water (part-skim or over-mixed), or cut before resting. Identify which applies and fix for next time.
Yes — use two 9×13 pans. Don’t try to fit it all in one deep pan — it won’t cook evenly.
The Bottom Line
Classic from-scratch lasagna isn’t complicated — it just requires doing each part properly rather than cutting corners.
Make the sauce from scratch. Season the ricotta. Under-cook the noodles.
Layer generously.
Rest before cutting.
Do those five things and this will be the best lasagna you’ve ever made at home — and the one your family asks for on repeat. 🍝
📌Related Read:
Lasagna Recipe with Bechamel Sauce for a Creamy, Authentic Texture
Lasagna with Ravioli Recipe for an Easy Layered Pasta Bake
Lasagna Soup Recipe That Tastes Just Like Traditional Lasagna
