Preheat your oven to 375°F. While it heats, finely dice the onion into 1/4-inch pieces, mince the 4 garlic cloves, shred the mozzarella from a block (this melts much better than pre-shredded), and grate the parmesan. Lightly beat the egg in a small bowl to help bind the cheese layer. Having everything prepped before you start cooking ensures smooth timing and lets you focus on building flavor.
Heat 3 tablespoons of olive oil in a large pot over medium-high heat. Add the crumbled italian sausage and cook for 6-8 minutes, breaking it into 1/2-inch pieces as it cooks, until it's browned and no longer pink. Add the diced onion, minced garlic, and red pepper flakes, then sauté for 3-5 minutes until the aromatics are fragrant and the onion is softened. Stir in the marinara sauce, salt, black pepper, and dried oregano, then reduce heat to low and simmer for 10-15 minutes to let the flavors meld. I like to let this sauce simmer a bit longer than the minimum time—it really deepens the flavor and brings everything together beautifully.
Bring a pot of salted water to a boil and cook the penne for 6-7 minutes, which is about 2 minutes less than al dente. This undercooking is crucial—the pasta will finish cooking in the oven and absorb sauce without becoming mushy. Drain the pasta well and set aside.
In a bowl, mix together the ricotta, lightly beaten egg, grated parmesan, and 1 cup of the shredded mozzarella. This creates a creamy, bound cheese layer that will set during baking and hold the casserole together.
In a 9x13 inch baking dish, combine the drained pasta from Step 3 with the sausage sauce from Step 2, mixing well to coat evenly. Spread the pasta mixture in an even layer. Dollop the cheese mixture from Step 4 over the top and gently spread it into an even layer. Sprinkle the remaining shredded mozzarella (about 1 cup) over the top for a golden, melty finish.
Bake the assembled casserole at 375°F for 30-40 minutes, until the cheese is bubbly, golden brown on top, and the sauce is bubbling around the edges. Remove from the oven and let rest for 10 minutes—this resting time helps the casserole set so it cuts cleanly and won't fall apart when you serve it.
Top the rested casserole with the 12 basil leaves cut into a chiffonade (thin ribbons), which adds a fresh, aromatic finish that brightens the rich, savory dish.