First make the sauce. Heat the oil in a pan, add the flour and whisk to make a roux.
Add the cumin, chili powder, garlic and onion powders, oregano, and pepper, whisking briefly.
Whisk in the chicken broth and bring the mixture to a simmer.
Cook for 10 minutes or until thick, adjust the seasonings and set to one side.
Now make the meat filling. Heat some oil in a skillet and saute the onions in there for 4 minutes.
Add the beef, cumin, oregano, garlic powder, salt, and black pepper.
Cook until all the meat is browned and then season to taste and set aside.
Heat a little oil in a skillet and fry the tortillas on both sides until a little crisp on the edges only.
Drain on paper towels.
Dip one of the tortillas in the enchilada sauce and then put it on an ovenproof plate.
Spoon some of the meat mixture on top, followed by some cheese.
Repeat until you have 3 tortilla layers. Don’t add meat to the last one.
Drizzle the stacks with sauce and sprinkle the rest of the cheese on top.
Repeat all the steps so you get 4 servings in total.
Broil for about 5 minutes until the cheese melts.
Fry the eggs and top each enchilada stack with one.
Serve drizzled with more sauce, onions, Mexican crema, and queso fresco.