01 - Preheat oven to 375°F. Lightly grease a 9×13 inch baking dish with cooking spray or a small amount of olive oil.
02 - Heat olive oil in a large skillet over medium heat. Add chopped onion and sauté for 3-4 minutes until translucent. Add minced garlic and cook for 1 minute more until fragrant.
03 - Add ground beef to the skillet and cook until browned, breaking up with a wooden spoon as it cooks. Drain excess fat from the pan.
04 - Stir in crushed tomatoes, tomato sauce, tomato paste, dried basil, dried oregano, red pepper flakes (if using), sugar, salt, and black pepper. Simmer uncovered for 15-20 minutes over medium-low heat, stirring occasionally.
05 - Bring a large pot of salted water to boil. Cook manicotti shells for 1-2 minutes less than package instructions, as they will finish cooking in the oven. Drain and rinse gently with cold water to stop the cooking process.
06 - In a large mixing bowl, combine ricotta cheese, shredded mozzarella, grated Parmesan, egg, chopped parsley, ground nutmeg, salt, and black pepper. Mix until smooth and well incorporated.
07 - Fill each manicotti shell with the cheese mixture using a piping bag, a small spoon, or a zip-top bag with the corner snipped off. Pack the filling firmly but gently to avoid tearing the pasta.
08 - Spread 1 cup of meat sauce evenly over the bottom of the prepared baking dish. Arrange filled manicotti in a single layer over the sauce.
09 - Spoon the remaining meat sauce evenly over the pasta, ensuring each tube is covered. Sprinkle with the remaining mozzarella and Parmesan cheese.
10 - Cover the baking dish tightly with aluminum foil and bake for 25 minutes.
11 - Remove foil and continue baking for 10-15 minutes longer, until cheese is bubbly and golden brown on top.
12 - Let the manicotti rest for 10 minutes before serving to allow the filling to set. Garnish with fresh basil or parsley if desired.