Preheat your oven to 375°F (190°C).
Place the poblano peppers on a baking sheet and roast them in the oven until the skins are charred and blistered, turning them occasionally. This process will take approximately 15-20 minutes.
Remove the peppers from the oven and transfer them to a bowl. Cover the bowl with plastic wrap and let the peppers steam for 10 minutes. It allows you to peel off the skins easily.
After steaming, peel off the charred skins from the peppers. Slit each pepper lengthwise and carefully remove the seeds and membranes, ensuring the peppers remain intact.
Over medium heat, heat up the olive oil in a skillet. Add the diced onion and minced garlic, and sauté until they turn translucent and fragrant.
Stir in the diced tomatoes, tomato sauce, cumin, oregano, salt, and pepper. By stirring occasionally, allow the mixture to simmer for 10 minutes.
In a separate bowl, whisk together the eggs, milk, and flour until well combined.
Place half of the roasted poblano peppers in a greased baking dish. Sprinkle half of the Monterey Jack and cheddar cheese over the peppers. Pour half of the tomato sauce mixture over the cheese.
Repeat the layering process with the remaining peppers, cheese, and tomato sauce mixture.
Pour the egg mixture evenly over the entire casserole.
Bake in the preheated oven for approximately 35-40 minutes or until the casserole is set and the cheese is golden and bubbly.
Allow the casserole to cool slightly before serving.