Preheat oven to 400 degrees. Spray a 9x13 inch baking dish with non-stick spray. Set aside.
Cook pasta about 2 minutes short of the package directions.
Heat a large skillet over medium high heat. Add the ground beef and onions. Saute until beef is cooked through and onions are soft. Drain any fat. Add garlic, 1 tsp salt and black pepper. Cook for about a minute, until fragrant.
Sprinkle in the flour, stirring to combine. Add cream cheese, stirring to melt into the meat.
Stir in the milk, tomatoes, nutmeg, allspice, cinnamon, and 1 tsp salt. Bring to a boil, reduce heat and simmer for about 5 minutes, or until slightly thickened.
Stir in cooked pasta. Pour into prepared baking dish. Sprinkle with cheese.
Bake for 10 minutes, or until cheese is melted.
Notes
Adapted from Cooking LightTo make ahead: Tightly cover the baking dish after you have sprinkled on the cheese. Bake for 30 minutes to heat through and melt the cheese on the day you are serving.