In a large 12-inch skillet, saute the ground beef over medium-high heat. Cook, stirring constantly for 2 minutes.
Add onion and salt and cook for 8 minutes more. Add garlic and cook for 30 seconds.
Add butter to skillet. When it has melted, add 3 tablespoon of the flour.
Using a whisk (a flat one if you have it), stir together flour and butter into a roue and let it bubble for 1 minute.
Add the milk. Bring to a low boil, reducing heat to medium if necessary, and whisk frequently while it thickens, 2 minutes.
Mix the remaining 1 tablespoon of flour into the cheese, and add the cheese by handfuls into the hot milk, whisking constantly, until all the cheese has been added and it's fully melted.
Add the paprika, thyme, and mustard powder and stir in.
While you are making the cheese sauce, heat up a large pot of salted water and cook the pasta according to package directions. The pasta should be done about the same time the cheese sauce is ready.
Add the pasta to the cheese sauce, mix to combine, and let simmer for a few minutes to thicken the sauce. Taste and adjust the seasonings as needed.
Either add the tomatoes to the pot at the end of cooking just before serving, or serve them separately to be added at the table.