Bring a large pot of salted water to boil for the pasta. Salt it generously until it tastes like seawater—this is your only chance to season the pasta itself.
Heat olive oil in a large skillet over medium-high heat until shimmering. Add the ground beef, breaking it into small pieces with a wooden spoon.
Brown the beef thoroughly until no pink remains, about 5-6 minutes. Season with salt and pepper while cooking.
Add diced onions to the beef and cook until they become translucent, about 2-3 minutes. Stir in minced garlic, Italian seasoning, and red pepper flakes (if using) and cook for another 30 seconds until fragrant.
Cook pasta according to package directions but subtract 1 minute from the recommended time for al dente texture. Before draining, reserve ½ cup of the starchy pasta water.
Add fresh spinach to the beef mixture in batches, allowing each handful to wilt before adding more. This should take only about 1-2 minutes total.
Toss the drained pasta directly into the skillet with the beef and spinach mixture. Add the reserved pasta water and parmesan cheese, stirring continuously until a silky sauce forms that coats the pasta.
Taste and adjust seasoning with salt and pepper as needed. Sprinkle with fresh basil if using, and serve immediately with additional parmesan cheese.