Cook the rotini in well-salted water until al dente. Reserve about 1 cup of pasta water, then drain.
Melt the butter in a large deep skillet over medium-high heat. Add the ground beef, onion, carrot, and celery and cook until the beef is deeply browned and the vegetables are softened.
Stir in the garlic, Italian seasoning, black pepper, salt, and tomato paste. Cook for about 1 minute.
Add the crushed tomatoes and simmer for 5 to 7 minutes. Lower the heat and stir in the heavy cream and ricotta until the sauce becomes thick and creamy.
Remove from the heat and stir in the mozzarella and Parmesan. Toss with the rotini until the beef and sauce are fully distributed and every spiral is coated. Add pasta water only if needed and finish with parsley.