Heat 2 tablespoons olive oil in a large pot over medium-high heat.
Add the diced onion, diced carrot, and diced celery and cook, stirring occasionally, until softened about 5 minutes.
Add the minced garlic and cook for 1 minute until fragrant.
Add the ground beef and cook about 5 minutes, breaking it up with a wooden spoon until browned; drain excess grease if necessary.
Pour in 1 cup beef broth, bring to a boil briefly, then simmer 2 minutes.
Stir in crushed tomatoes, tomato sauce, tomato paste, Italian seasoning, and crushed red pepper; add the bay leaves and season with kosher salt and black pepper to taste.
Reduce heat to low and simmer the sauce, stirring occasionally, for 20–30 minutes. Taste and adjust seasoning as needed; remove bay leaves before serving.
Meanwhile, bring a large pot of salted water to a boil and cook 16 oz spaghetti until al dente according to package directions, then drain well.
Toss the drained spaghetti with the meat sauce in the pot using tongs, or plate the pasta and top with sauce.
Garnish with freshly grated Parmesan cheese and fresh basil, then serve immediately.