Huevos a la Mexicana is a classic Mexican scrambled egg dish cooked with fresh tomatoes, white onion, and serrano chiles — the three ingredients that mirror the red, white, and green of the Mexican flag, which is exactly how the dish got its name. It comes together in under 30 minutes using everyday ingredients, delivers bold and bright flavor in every bite, and pairs perfectly with warm corn tortillas for a complete, satisfying breakfast that has been a staple in Mexican homes for generations.
Non-stick skillet or cast iron pan 10–12 inch recommended for even heat distribution
Chef's knife For dicing tomatoes, onion, and slicing chiles
Cutting board
Medium mixing bowl For beating the eggs
Fork or whisk For beating eggs until foamy
Rubber spatula or wooden spoon Silicone spatula recommended for gentle egg folding
Serving plates
Ingredients
4large eggs
2Roma tomatoesmedium, finely diced; about 1 cup diced
½white onionfinely diced; about ½ cup diced
1-2serrano chilesthinly sliced; substitute jalapeño for milder heat, seeds removed for less spice
2tablespoonsbutterabout 28g; substitute olive oil for dairy-free
saltto taste
For Serving
fresh cilantrofor garnish; a few sprigs scattered over the top
warm corn tortillasfor serving; heat over direct flame 10–15 seconds per side or in a dry skillet 30 seconds per side
Instructions
Finely dice the Roma tomatoes and white onion into small, even pieces (about ¼ inch). Thinly slice the serrano chiles into rounds, removing seeds if you prefer less heat, then set all vegetables aside.
Crack all 4 eggs into a medium bowl, add a pinch of salt, and beat vigorously with a fork or whisk for 30–60 seconds until fully combined and slightly foamy. Set aside near the stove.
Melt the butter in a skillet over medium heat until foamy. Add the diced onion and cook for 2–3 minutes until softened and translucent, then add the sliced serrano chiles and cook for 1 minute more.
Add the diced tomatoes to the skillet and stir to combine. Cook for 2–3 minutes until the tomatoes soften and release their liquid, then let any excess liquid reduce for 30–60 seconds so the mixture is moist but not watery.
Reduce heat to medium-low and pour the beaten eggs evenly over the vegetable mixture. Let the edges begin to set for 15–20 seconds, then gently fold the eggs from the outside edges toward the center in slow strokes every 10–15 seconds until just barely set and still slightly glossy, about 2–3 minutes total.
Remove the skillet from heat just before the eggs look fully cooked and spoon onto warm plates immediately. Garnish with fresh cilantro and serve alongside warm corn tortillas.
Notes
Pull the eggs off the heat while they still look slightly underdone — residual heat will finish cooking them and prevent rubbery, dry results.
If your tomatoes are very juicy, let the vegetable mixture cook an extra 1–2 minutes before adding the eggs to reduce excess liquid; watery vegetables lead to watery eggs.
Use fresh Roma tomatoes for best results — canned tomatoes add too much moisture and alter the texture of the dish.
For milder heat, swap serrano chiles for jalapeño and remove all seeds before slicing. For extra heat, use two full serranos with seeds intact.
Beat the eggs thoroughly until slightly foamy before adding them to the pan — this step produces fluffier, more tender curds.
Always cook the eggs over medium-low heat, not medium or high. High heat is the main cause of rubbery scrambled eggs.
To make this dairy-free, substitute the butter with 2 tablespoons of olive oil. The flavor will be slightly different but still delicious.
For a heartier version, brown a few ounces of Mexican chorizo in the skillet first, drain most of the fat, then cook the vegetables in the remaining drippings.
Leftovers can be refrigerated in an airtight container for up to 2 days. Reheat gently in a skillet over low heat with a small pat of butter, stirring carefully, or microwave on medium power in 20-second intervals. Do not freeze.
Prep the tomatoes, onion, and chiles the night before and store in the fridge — morning cooking time drops to under 15 minutes.