Preheat the oven to 350°F. Spray a 9x13 baking dish with cooking spray, set aside.
Add the butter to a small saucepan over medium heat and let it melt. Whisk in the cornstarch, chili powder, sugar, cumin, oregano, and salt, whisk constantly for 1 minute to bring out the flavor of the spices.
Slowly pour in the chicken stock, whisking constantly to avoid lumps. Add the tomato sauce and whisk it in. Simmer for 3-5 minutes, stirring occasionally until thickened. Take off the heat and set aside.
In a large skillet over medium-high heat, add the ground beef and onion, breaking the meat into crumbles and cooking until there is no pink left and the onions are translucent, stirring occasionally for about 10 minutes. Drain any excess grease.
Add the garlic and cook for 30 seconds until fragrant.
Next, add the taco seasoning, stir to coat the meat.
Add the water and salsa, stir to combine.
Add the refried beans, break it up and mix it in until combined.
Simmer for 10 minutes, stirring occasionally. Add the chopped cilantro and stir it in, take off the heat.
Mix the Monterey Jack and cheddar cheeses together. Divide into two equal portions, set aside.
Add ⅓ of the red sauce to the bottom of the prepared baking dish, spread it out to coat.
On a clean work surface place a tortilla. Add 1/6th of the meat mixture in the middle of the tortilla. Taking one-half of the cheese mixture, take 1/6th of it and place it on top of the meat.
Fold the two outer flaps of the tortilla over the filling. Tightly roll the tortilla into a little package. Place it seam-side down into the baking dish, repeat with the remaining tortillas, meat, and cheese.
Pour the remaining red sauce on top, try and cover all the exposed tortillas. Top with the remaining cheese.
Bake for 15-20 minutes uncovered until bubbly. Serve immediately with your favorite toppings.