Place a large nonstick skillet over medium-high heat. Add ground beef and break it apart with a wooden spoon. Once you have it in small chunks, add the onion. Continue to cook, crumbling the beef more as it cooks, until beef is no longer pink. Drain off any grease.: The pan will begin to sing with searing notes as the heat touches the ground beef , releasing an aroma that signals browning. You want small browned bits clinging to the pan because they hold concentrated savory flavor that will dissolve into the sauce, adding complexity. When you add the diced onion , listen for gentle sizzling and watch the onion edges turn translucent, softening and sweetening; this transformation mellows sharpness into a rich background tone. Draining excess grease keeps the final casserole from feeling greasy, but leave a little fond if you plan to deglaze, because that browned residue is flavor gold. A frequent mistake here is stirring constantly, which prevents those brown bits from forming, so let the meat sit briefly between stirs to develop color.
Place skillet back over medium-high heat and add garlic. Cook 1 minute.: As you add the minced garlic , the kitchen fills with its warm, savory perfume almost immediately, a sign the oils are releasing their aroma. One minute is long enough to coax out fragrance without letting the garlic brown and become bitter. Keep the heat steady and stir so the garlic heats evenly; if it starts to darken, lower the heat at once to prevent sharp burnt notes. This quick step layers an aromatic top note that brightens the forthcoming tomato base.
Add remaining sauce ingredients. Turn heat down to maintain a simmer. Simmer for 25 to 30 minutes, stirring occasionally.: When you add tomato paste, canned tomatoes, and tomato sauce , the mixture will steam and bubble as juices marry. Lowering to a gentle simmer lets flavors concentrate; over the next 25 to 30 minutes the raw tomato edge will round out, and the sauce will thicken and gloss, clinging to the spoon in a sign it is ready. Stir occasionally to prevent sticking and to integrate the herbs like oregano and Italian seasoning; their dried oils need gentle heat to bloom. If the sauce is too thin after simmering, raise the heat briefly to reduce it, but watch carefully to avoid scorching the bottom.
While sauce is simmering, cook lasagna noodles according to package directions. Drain.: Cooking lasagna noodles to al dente ensures they finish tender without collapsing; they should yield slightly under bite when tested. The noodles will continue to soften in the oven as they absorb moisture from the sauce. Rinse them only if the package instructs so your layers do not gel together; otherwise, drain and lay them flat to cool slightly and prevent sticking. Overcooked noodles become fragile and gummy, causing the final slices to fall apart.
In a medium bowl, stir together cream cheese, cottage or ricotta cheese and eggs until smooth.: When you blend the softened cream cheese , cottage cheese or ricotta, and the eggs , aim for a glossy, uniform paste. This mixture should be creamy and slightly thick, with no visible lumps of cold cream cheese; proper blending ensures even setting in the oven. The eggs act as a binder, giving the filling structure while keeping it tender. If the cream cheese is too cold, you will see lumps, so temper it or let it come closer to room temperature before mixing.
Preheat oven to 350 degrees and grease a 9×13-inch baking pan.: As the oven warms to 350 degrees , the air in the kitchen takes on a faint warmth that readies the dish for gentle baking. Greasing the 9×13-inch baking dish prevents sticking and helps the edges brown evenly. If the pan is ungreased, cheese can cling and tear when you lift slices, so be thorough but avoid excess oil pooling in corners which can make the crust overly greasy.
Spread about 3/4 cup of sauce in the bottom of the baking dish. Arrange 3 noodles on top of the sauce.: Spreading a thin base of sauce keeps the bottom layer from drying and ensures the first lasagna noodle adheres and does not slip. As you lay three noodles across, they should slightly overlap to form a continuous surface; listen for a faint settling sound as they sink into the warm sauce. If the noodles resist lying flat, trim or nudge them gently; air pockets under noodles can cause uneven baking and pockets of dryness.
Spread 1/3 of the cream cheese mixture on top of the noodles. Sprinkle with 1 cup of mozzarella cheese. Spread a little less than half the remaining sauce over the cheese. Scatter the pepperoni slices evenly on top.: The first spread of the creamy mixture should be smooth and even, offering a soft, cool contrast to the warm noodle. The shredded mozzarella cheese will sit powdered white and promise stretch once melted. When you add the sauce over the cheese, you want enough to flavor but not so much that the layer becomes soupy. Scattering the pepperoni slices adds bursts of savory, slightly spicy oil that sizzle when baked and introduce pleasant textural contrast. Avoid piling pepperoni in clumps which creates greasy islands in the finished lasagna.
Do another layer of noodles, cream cheese mixture (use half of the remaining), and 1 cup of mozzarella cheese. Top with sauce, leaving about 1/3 a cup of sauce to use for the top.: As you repeat layers the casserole begins to feel substantial, with the noodles, creamy filling, and mozzarella cheese alternating in pleasing rhythm. Press gently so layers nest without squeezing out fillings. Leaving a bit of sauce for the final top ensures that the crown of cheese browns without drying out. A common misstep is over packing which prevents proper heating through the middle.
Place the final layer of noodles on, spread with cream cheese mixture and the remaining 1/3 cup of sauce. Sprinkle the rest of the mozzarella cheese on top along with the Parmesan cheese.: The top layer is about balance, with a thin blanket of sauce to encourage bubbling and a generous final shower of mozzarella cheese and Parmesan cheese that will brown and form the classic lasagna crust. Even coverage promotes uniform browning and prevents dry patches. If you see bare noodle peeking through, add a touch more sauce to protect it from overbrowning.
Cover with foil. (Spray the underside of the foil with cooking spray so that it does not stick to the cheese.) Bake for 45 minutes. Uncover and bake another 10 minutes.: Covering traps steam so the interior heats through gently, while the sprayed foil prevents melted cheese from adhering to the foil surface. After the initial 45 minutes the center should be set and the edges bubbling; removing foil for the final 10 minutes allows the top to achieve golden patches and slight crispness. If the top browns too fast, tent foil back loosely to finish heating without burning.
Sprinkle with parsley. Let sit for 10 minutes before slicing.: After baking, a brief rest lets the layers settle and the filling firm enough for clean slices; you will notice steam calm and the casserole compress slightly as it rests. The chopped fresh parsley adds a bright herbal note and visual lift. Cutting too soon often yields a soupy center, so patience here yields beautiful, cohesive pieces.