Cook the macaroni per the package instructions and drain.
Melt butter in a saucepan over medium high heat. Saute onions until they start to get soft.
Add the beef and saute, breaking the beef up with a spoon, until beef is cooked through
Add the Italian seasoning, pepper, and garlic. Stir until seasonings become fragrant, 1 to 2 minutes.
Add the flour and stir to mix. Add the milk and cook, stirring until the mixture thickens, 4 to 5 minutes.
Add the shredded cheese and mix until melted and incorporated into the sauce. Remove from heat.
Spray a casserole with baking spray. Put ½ the meat mixture into the casserole. Cover with ½ the macaroni. Spread ½ the salsa over the macaroni. Repeat with remaining meat mixture, macaroni, and salsa.
Cook, uncovered, in a 350 F (175 C) oven for 40 minutes.
Let rest for 10 minutes before serving.