Preheat the oven to 425°F. Place the tomatoes, onion, and garlic on a parchment-lined sheet pan. Drizzle with oil and roast for about 45 minutes, or until softened and slightly charred. Set aside to cool.
Prep for Casserole
Char the poblano peppers on a comal over medium heat, turning until blackened on all sides. Transfer to a bowl, cover with plastic wrap, and let them steam for 10 minutes. Peel off the skins, remove stems and seeds, and set aside uncovered.
In a large nonstick pan, fry the corn tortilla in oil until golden and crispy on both sides. Set aside for the salsa.
Lower the heat to medium-low. In the same pan, cook the onions until just softened. Add the chorizo and fully cook, then drain excess fat. Set aside.
Make the Batter
In a blender, combine eggs, crema, and melted butter. Blend on medium-high for about 5 minutes until light and bubbly. Transfer to a bowl.
Sift in the flour, baking powder, ground onion, and ground garlic. Add salt and gently whisk just until combined—avoid over-mixing.
Prep the Cheese
Mix the Oaxaca and cheddar cheeses together.
Assemble Casserole
Preheat oven to 350°F. Grease a 12-inch baking dish with cooking spray.
Layer half of the roasted poblanos, followed by the chorizo and half the cheese. Repeat with the remaining peppers and cheese.
Lightly whisk the batter again, then pour it evenly over the top. Smooth the surface as much as possible for even baking.
Bake for 40–45 minutes, or until the batter is fully cooked, set, and golden on top.
Finish the Salsa
Blend the roasted tomatoes, onion, peeled garlic, crispy tortilla, oregano, chipotle peppers, adobo sauce, vinegar, and chicken broth until smooth.
Heat 2 tbsp of oil in a small saucepan over medium-low heat. Pour in the salsa and simmer gently for about 3 minutes, stirring occasionally. Season with salt to taste and remove from heat.
Serve
Remove the casserole from the oven and let it cool for 10 minutes before serving.
Top each serving with warm salsa and chopped cilantro.