First, make the creamy avocado pesto. In a food processor, add the basil, spinach, avocado, garlic, lemon juice, parmesan cheese, and olive oil. Blend until smooth. Season with salt and pepper, to taste. Set aside.
Bring a large pot of salted water to boil. Cook the pasta until al dente according to package directions. Reserve 1/2 cup of the pasta water. Drain the pasta and transfer to a large bowl.
While the pasta is cooking, cook the tomatoes. In a large skillet, heat the olive oil over medium heat. Add the tomatoes and garlic and season with salt and pepper. Cook, stirring frequently, until the tomatoes blister and start to pop, about 5 minutes. Discard the garlic.
Add the creamy pesto to the large bowl of pasta. Stir, adding the reserved pasta water as necessary. Stir until the pasta is well coated in pesto. Top with blistered tomatoes. Garnish with crushed red pepper flakes, basil and parmesan cheese, if using. Serve immediately.
Note-to make this recipe vegan, use nutritional yeast for the parmesan cheese. You can also use zucchini noodles instead of pasta.