Heat the olive oil in a large skillet over medium-high heat. Once shimmering, add the diced onion, celery, and carrot, cooking for about 5 minutes until they begin to soften and release their aromas. Add the minced garlic and stir constantly for 30 seconds to bloom it without burning. Increase heat to medium-high and add the ground beef, breaking it apart with a spoon as it cooks until no pink remains, about 5-7 minutes. I like to brown the meat well here because it creates deeper, richer flavors that carry through the entire sauce. Drain off excess fat by tilting the skillet and spooning it out, then transfer the browned meat and vegetables to your slow cooker.
Add the Italian seasoning, garlic powder, salt, pepper, and sugar to the meat and vegetable mixture in the slow cooker, stirring well to distribute the seasonings evenly. The sugar is essential here—it balances the natural acidity of the tomatoes and prevents the sauce from tasting too sharp. Pour in the crushed tomatoes, tomato paste, and beef broth, stirring thoroughly to combine everything and dissolve the tomato paste completely. Add the bay leaf for subtle depth.
Break the spaghetti in half and add it directly to the slow cooker with the sauce from Step 2. Stir gently to separate the pasta strands and press them down so they're mostly submerged in the liquid—they'll absorb liquid as they cook and need to be surrounded by sauce for even cooking. Cover and cook on high for 1.5 hours or on low for 4 hours. I recommend using high heat if you're in a time crunch; it gives you more control over the final texture. Check the pasta around the 1-hour mark on high (or 3.5 hours on low) to ensure it's not overcooking.
When the pasta is tender and the sauce has thickened, remove the bay leaf and stir the entire dish. Taste and adjust seasoning if needed. Ladle the spaghetti and sauce into bowls, top with fresh basil, and serve immediately. This dish is best enjoyed right away while it's hot.