Cook manicotti according to package directions in salted water.: The water should smell faintly of the sea when you add the manicotti shells , that is your cue the pot is seasoned. You want the shells tender but still firm enough to handle filling, so aim for al dente, which means a slight resistance when you bite into them. Listen for a gentle boil, and stir occasionally to prevent sticking. Overcooking will cause tearing when you fill them, leading to leaks in the baking dish. After cooking, drain the shells carefully and lay them on a lightly oiled tray to keep them from clinging together.
While pasta is cooking, cook beef and onion over medium heat in a large skillet until meat is no longer pink; add garlic and cook for about 1 minute. Drain meat. Stir in spaghetti sauce. Spread half of the meat sauce into a greased 9 x 13 inch baking dish.: As the ground beef browns with the onion , you will notice a rich aroma and tiny caramelized bits forming on the pan, that is flavor being built. When the meat is no longer pink, add the minced garlic and let it sizzle briefly so it releases fragrant oils without burning. Drain off excess fat to prevent a greasy final texture. Stir the spaghetti sauce in and let it simmer for a minute so the acidity softens. Spoon half of this mixture into your greased 9x13 baking dish , spreading it into an even layer. A common mistake is rushing the browning step, which can leave the meat bland, so take the extra few minutes for good sear development.
Drain manicotti. Stuff each shell with a piece of string cheese. You could even use 2 pieces of string cheese but we thought one was plenty once it melted. Arrange manicotti over meat sauce. Place over meat sauce; top with remaining sauce. Cover with foil and bake at 350° for 25-30 minutes or until heated through.: After draining the shells, you will feel the reassuring warmth of the pasta as you handle them. Slide a single piece of string cheese into each shell, and you will notice the weight and balance change as the pasta becomes filled. Arrange the stuffed shells snugly over the first sauce layer so they support each other; this helps them retain shape while baking. Spoon the remaining sauce evenly over the shells so everything steams together. Covering with foil traps steam, creating a gentle oven environment that melts the cheese inside without drying the pasta. Bake at 350° and you will notice the kitchen filling with meaty, tomatoey aroma. If you skip covering, the pasta can dry out, so keep the foil intact for this stage.
Uncover and sprinkle with mozzarella cheese and bake for 5 minutes or until the cheese is melted. Sprinkle with grated parmesan cheese and garnish with basil if desired.: When you remove the foil, steam will rise and the sauce will look glossy, that is a good visual cue. Sprinkle the shredded mozzarella over the assembled shells so it forms an even blanket. Return the dish to the oven just long enough for the cheese to melt and start to bubble, watch closely because a few extra minutes can take it from perfectly gooey to overly browned. The sound changes too, from quiet bubbling under foil to soft bubbling and occasional sizzling at the edges. If you skip the final cheese step, you lose that golden, stretchy topping that makes the dish feel indulgent.
Sprinkle with grated parmesan cheese and garnish with basil if desired.: The finish is all about contrast, and when you scatter grated Parmesan across the top it adds a salty, nutty lift that cuts through the richness. If you choose to add fresh basil , its bright herbal scent will pop against the warm, cheesy aroma, and visually it gives a fresh green contrast. Serve the dish directly from the oven while the cheeses are at their meltiest. A common misstep is garnishing too early, which causes basil to wilt and lose its fresh flavor, so wait until right before serving.