Cut both ends off the zucchini, then cut into 1/2 inch thick slices (if zucchini are larger, cut in half or fourths lengthwise, then slice.: As the knife hits the cutting board you should see the pale, moist flesh and a thin line of seeds; this visual tells you the squash is fresh. Slicing to 1/2 inch thickness ensures each piece cooks evenly, achieving tender centers and slightly caramelized rims. If slices are too thin they will turn limp, and if too thick they may stay undercooked in the center. A steady, confident slicing motion helps maintain consistent size, which is key to even cooking. Keep fingers curled and use a sharp knife to avoid crushing the zucchini and releasing excess moisture.
Heat a non-stick pan over medium heat, heat the olive oil in a large frying pan with a lid; I used my favorite Green Pan 12 Inch Frying Pan (affiliate link).: You want the pan warm enough that a drop of water sizzles, but not smoking, before adding the olive oil . When the oil shimmers, it releases a subtle fruity scent that tells you it is ready; this prevents sticking and encourages browning. Using a non-stick or well seasoned pan reduces the chance of tearing the slices when you stir. Avoid overheating the oil because burnt oil gives a bitter flavor; if you see wisps of smoke, reduce heat and start again.
Add minced garlic and cook about 1 minute, or until you start to smell garlic.: As the garlic hits the oil you will smell its aroma bloom almost instantly, a warm, savory perfume. Stir constantly for about a minute until edges just begin to color; this gentle cooking releases flavor without bitter overtones. Beware of leaving the garlic unattended, it can go from fragrant to burnt in seconds. If a few pieces darken, remove them to prevent an acrid taste.
Add squash and stir to coat with oil and garlic, then cover and cook 4-5 minutes, stirring once or twice.: When the zucchini hits the pan you should hear a soft sizzle and see the slices glisten as they pick up the flavored oil. Coating each piece ensures the garlic and oil adhere, promoting even browning. Covering traps steam to help the interior become tender, while occasional stirring prevents sticking and encourages uniform color. A common error is constant stirring which prevents browning, so allow contact time for caramelization.
After 4-5 minutes, check to see if there is a lot of liquid and whether squash is tender. Cook 1-2 more minutes, uncovered until zucchini is tender-crisp and liquid is evaporated.: Lift the lid and peer at the pan to assess moisture and doneness, the slices should give slightly to gentle pressure but still hold their shape. If there is excess liquid, continue cooking uncovered for another 1 to 2 minutes to let steam escape, this concentrates flavor and encourages slight crisping. Too much residual water will make cheese swim rather than cling, so patience at this stage matters. Avoid turning up the heat drastically to force evaporation, because that can scorch the zucchini .
Sprinkle squash with salt and chopped parsley and stir to wilt parsley.: As the last of the moisture evaporates you may hear a brighter sizzle and see the edges taking on a light golden tone, these are good indicators the texture is moving toward tender crisp. The goal is translucency in the center and some browned accents on the exterior, which gives pleasant mouthfeel contrast. Overcooking here will lead to mushy pieces, so keep tasting a small piece to judge readiness. If you notice the pieces becoming too soft, remove pan from heat to halt cooking.
Add Parmesan and cook until it melts, about 1 minute.: When you add sea salt and flat parsley , the salt starts to draw out a touch more moisture while the herb releases a bright scent as it hits residual heat. Stir briefly so the parsley softens but remains vivid green, lending a fresh lift to the dish. A pitfall is adding too much salt too early, which can draw out excessive water and dilute flavor, so season thoughtfully and taste.
Sprinkle mozzarella cheese over the squash, cover pan again and turn off the heat.: As you scatter the Parmesan cheese you will notice a toasty, savory aroma and a thin, silky coating forming where it contacts hot surfaces. Melt it for about a minute so it integrates with the zucchini and clings to the slices, forming little pockets of umami. If the cheese is added to a pan that is too cool it may not meld, and if the pan is too hot it can brown and get grainy, so moderate residual heat is best. Watch for uneven melting and stir gently to distribute.
Let sit 1-2 minutes until cheese is melted and serve the Zucchini Stir Fry hot.: The moment you add the Mozzarella cheese you will see it begin to soften and stretch as the residual heat works on it. Covering traps gentle steam that finishes the melt evenly without direct high heat that can separate the fats. Turning off the burner at this stage preserves a delicate, creamy texture. A mistake to avoid is leaving the pan on high heat which can make the cheese oily and break the texture.
Let sit 1 to 2 minutes until cheese is melted and serve the Zucchini Stir Fry hot: During this brief resting period the cheeses settle into a cohesive layer and the aromas concentrate, making the first bite especially satisfying. Serve the dish hot so the Mozzarella cheese is still silky and the Parmesan cheese pockets retain their depth of flavor. Reheating later can change the texture of the cheese, so enjoy it promptly for best results. If you need to hold it, keep it covered and warm for only a short time to avoid sogginess.