Boil the pasta: Bring a large pot of salted water to a boil. Cook the spaghetti until just al dente.
Reserve 1 cup of pasta water, then drain.
Brown the beef: In a large skillet, heat olive oil over medium-high. Add ground beef, season with salt, pepper, and Italian seasoning. Cook, breaking it up, until browned and no longer pink.
Drain excess fat if needed and set aside in a bowl.
Start the alfredo base: In the same skillet, reduce heat to medium. Add butter and minced garlic. Cook 30–60 seconds until fragrant, not browned.
Add cream: Pour in heavy cream.
Stir and let it gently simmer for 2–3 minutes to thicken slightly. If it gets too thick, splash in a little milk or reserved pasta water.
Cheese it up: Reduce heat to low. Stir in Parmesan until melted and smooth.
Taste and season with salt, pepper, and a pinch of red pepper flakes if you like heat.
Combine: Add the cooked spaghetti and ground beef to the skillet. Toss well so the sauce coats everything. Add a splash of pasta water for silky texture if needed.
Add mozzarella: Sprinkle mozzarella over the top.
Cover the skillet for 2–3 minutes until melted. For a bubbly top, transfer to an oven-safe dish and broil for 1–2 minutes, watching closely.
Finish and serve: Garnish with chopped parsley. Serve hot with extra Parmesan on the side.