Preheat oven to 375 F/190 C
Heat the oil in a large pot, and add the chopped onion. Fry the onion until slightly translucent and then add the ground beef and all of the spices. Cook until the beef is browned - about 10-15 minutes. Now add the mushrooms and cook for a few minutes (about 3-4 minutes until the mushrooms are cooked through). Finally add the pasta sauce and cook for a few minutes and then turn off the heat. Set aside.
In a medium saucepan, melt the butter on medium heat and then add the flour. Cook fro 1-2 minutes and then slowly pour in the milk, while continuously whisking. Continue whisking for 5-6 minutes until the sauce thickens. Season with salt, pepper and garlic powder. Take off heat, and set aside.
In a large baking dish, first start by layering with spreading a bit of the white sauce, and then some of the meat sauce. Now add a layer of pasta, then layer with the meat sauce, and then layer with white sauce. Repeat layers and then top with cheddar cheese. Bake at 375 F/190 C for 10 minutes or until the cheese has melted and is golden brown.
Let stand for 5 minutes before serving.