01 - Preheat oven to 375°F. Lightly grease a 9×13 inch baking dish with cooking spray or 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. Cook until browned, breaking up the meat with a wooden spoon. Drain excess fat from the skillet.
04 - Stir in crushed tomatoes, tomato sauce, tomato paste, dried basil, dried oregano, red pepper flakes, sugar, salt, and black pepper. Simmer uncovered for 15-20 minutes, stirring occasionally until slightly thickened.
05 - Bring a large pot of salted water to boil. Cook manicotti shells for 1-2 minutes less than package instructions. 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, fresh 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, spoon, or zip-top bag with the corner snipped off. Be careful not to overfill or split the shells.
08 - Spread 1 cup of meat sauce evenly over the bottom of the prepared baking dish. Arrange filled manicotti shells in a single layer over the sauce.
09 - Spoon the remaining meat sauce evenly over the manicotti. Sprinkle with the remaining 1 cup shredded mozzarella and ½ cup grated Parmesan cheese.
10 - Cover the baking dish with aluminum foil. Bake for 25 minutes until the sauce is bubbly.
11 - Remove foil and bake for 10-15 minutes more until the cheese is melted, 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.