Bring a large pot of water to a boil to cook the pasta.
Meanwhile, in a large pan heat butter over medium heat. Add the onion and saute for 4-5 minutes, until translucent.
Add the ground meat, break up and cook until completely cooked. Use this time to chop the other veggies and measure out the spices into a small bowl.
When the meat is about half way cooked add the carrots and celery and stir in. Cook until the meat is completely cooked before adding the garlic and spice mixture, along with the 1/4 cup of flour. Stir together until the flour is completely combined with the butter and fats from the meat and cook for a minute or two while stirring.
Add the milk and stir the flour mixture along with the meat and veggies into the milk. Continue to cook over medium heat until bubbling and thickened.
Remove from the heat and stir in the cheese and the cooked pasta.
Serve immediately. Leftover last up to 5 days in the fridge, reheat before serving.