In a heavy-bottomed medium saucepan, melt butter over medium heat. Add onion and sauté, stirring frequently, for 3 minutes.: The moment the butter melts you should see a glossy pool and smell its creamy aroma, not a nutty browning scent. Using a heavy bottom pan distributes heat evenly so the onion softens rather than burning. If the butter browns quickly it means your heat is too high, so lower it. A common mistake is rushing this stage, which leads to unevenly cooked onion and a bitter edge.
Add corn and continue to sauté for 3 minutes.: Right away the onion should become translucent and give off a gentle sweetness, filling the kitchen with an inviting aroma. Stirring frequently ensures even softening and prevents the edges from caramelizing too fast. You want tender pieces without significant color. If you notice browning sooner than three minutes, reduce the heat and continue to stir to avoid charring, which would alter the intended sweet profile.
Add milk, water, and 1 teaspoon salt. Turn heat to high and bring to a boil.: When the corn hits the pan you will hear a light sizzle and taste a burst of fresh sweetness as the kernels warm. Sautéing briefly tenderizes the kernels and releases their natural sugars, enhancing contrast with the cheesy base. Keep stirring so no kernels stick and pop. Overcooking will make the corn lose its pop and become mealy, so watch the clock and the texture.
When mixture boils, gradually whisk in the grits. If you mix them in too fast, they will clump.: At this point the pot will steam as the milk and water heat, and you should smell a creamy, almost custardy scent. Raising to high brings a controlled boil, which is necessary to properly hydrate the grits . Watch carefully because dairy can scald at the bottom; stirring once or twice while heating helps prevent scorching. If the liquid scalds, you will detect a burnt smell that will ruin the pot.
Turn heat down to low and simmer, whisking every now and then, for 40-50 minutes. (The amount of times it takes to cook the grits will vary according to the brand. It is best to go by the cooking time on the package. Some will only take 20-30 minutes. Others can take up to 60 minutes.): As the liquid reaches a rolling boil the steam will be aromatic and the surface lively; slowly whisking in the grits prevents lumps and creates a smooth slurry. Add the grits in a slow, steady stream while whisking to incorporate them evenly. A common error is dumping them in too quickly, which causes clumps that are hard to break up later. The mixture will thicken as the grits absorb liquid, and a smooth texture signals correct incorporation.
Stir in butter, both cheeses, and salt and pepper to taste.: During this patient simmer the scent becomes more nutty and deep, and you will notice the texture transition from grainy to creamy. Low heat prevents the mixture from sticking while allowing the grits to soften fully. Whisking occasionally breaks gentle skin and keeps the pot uniform. Brands vary in cooking time, so test a spoonful; if the center is still grainy, continue cooking. Avoid constant high heat, which will make the bottom scorch and create a burnt flavor.
Add a few dashes of Tabasco sauce and green onions.: After removing from heat the glossy butter and melted cheddar cheese and Parmesan cheese should blend into a silky sauce, giving off a rich cheesy aroma. Stirring now ensures the fats emulsify into the grits , creating a luscious mouthfeel. Taste and adjust seasoning carefully because the cheeses add salt. A frequent mistake is over salting before adding cheese, resulting in an overly salty final dish.
Add a few dashes of Tabasco sauce and green onions: The final dashes of Tabasco should brighten the bowl with a vinegary heat that cuts through the richness, and the sliced green onions add freshness and a slight crunch. Sprinkle them just before serving to keep their texture. If you add too much hot sauce at once you may overpower the subtle sweetness of the corn , so add a little, taste, and adjust gradually.