Cook the pasta shells in salted boiling water until al dente. Drain and set aside.
In a large skillet over medium heat, brown the ground beef. Add chopped onion and cook for 3–4 minutes until softened.
Stir in garlic, Italian seasoning, paprika, salt, and pepper. Cook for another minute.
Sprinkle the flour over the beef and stir to coat. Slowly add milk and cream, stirring constantly to avoid lumps.
Bring the sauce to a simmer and cook for 3–5 minutes until slightly thickened.
Stir in Parmesan and mozzarella cheeses until melted and smooth.
Add the cooked pasta shells and toss to coat in the creamy sauce.
