Bring a large pot of salted water to a boil and cook the linguine according to package directions. I usually aim for al dente so it doesn't get mushy when mixed with the sauce. Reserve 1 cup of pasta water before draining—you'll use this magic ingredient to adjust your sauce consistency.
While the pasta cooks, heat the olive oil in a large skillet over medium-high heat. Add the diced onion and sauté for about 3 minutes until it turns translucent and smells amazing. Don't walk away during this part—I learned that lesson the hard way when I burned my first batch.
Add the minced garlic and cook for just 30 seconds, stirring constantly so it doesn't burn. Pour in the diced zucchini and bell pepper, cooking for 4 minutes until they start to soften. The vegetables should still have a little texture here—you're not going for mush.
Toss in the cherry tomatoes and frozen peas, cooking for 2 more minutes. The tomatoes will start to blister and release their juices—that's exactly what you want happening. This creates the flavorful base for your creamy sauce.
Reduce heat to medium and pour in the heavy cream, then stir in the mozzarella and Parmesan. Add the dried oregano, salt, black pepper, and red pepper flakes. Keep stirring for 2-3 minutes until the cheese melts completely and you get that gorgeous silky texture.
Add the cooked linguine directly to the skillet and toss everything together gently. If the sauce looks too thick, add a splash of that reserved pasta water and stir. I usually need about 1/4 cup, but every stovetop is different, so go slow here.
Cook for 1 minute just to let the pasta absorb some of that creamy flavor. Remove from heat and stir in the fresh basil—this keeps it bright and prevents it from getting all dark and bitter.