Heat oil in a high-sided 12-inch skillet over medium-high. Add onion and cook, stirring often, until softened and browned, 6 to 8 minutes. Add beef, garlic, oregano, salt, cinnamon and nutmeg; cook, stirring often, until meat is browned, 5 to 6 minutes. Stir in flour and cook, stirring constantly, 1 minute. Add milk, stock and tomatoes and stir with a wooden spoon to loosen browned bits from bottom of skillet. Add cream cheese and Parmesan cheese and cook, stirring constantly, until cheese is melted. Let mixture come to a low boil.Advertisement
Stir in uncooked pasta, ensuring all pasta is submerged. Reduce heat to medium and cook, stirring often, until pasta is just tender, 9 to 11 minutes. Sprinkle with mozzarella; cover and remove from heat. Let stand until mozzarella melts, about 5 minutes. Serve hot.