Start the water for the pasta in a large pot. When it starts to boil, add the pasta. As soon as the water reaches boiling (again), lower the temperature slightly to keep it from boiling over.
Heat a small or medium-heavy skillet or pan with a heavy bottom to medium-high. Add the ¼ cup of pine nuts and toast them. Stir them often until brown (about 1 ½ - 2 minutes). Immediately remove them from the heat and add them to a food processor or blender.
Add the basil, spinach, garlic, 1-2 tablespoons of lemon juice, and ½ teaspoon of salt (if using) to the food processor. Blend until smooth. Taste and add more lemon juice if desired.
When the pasta is about 2 minutes from being done, add the cherry tomatoes. Cook until the pasta is tender but firm. The tomatoes will be soft, slightly wrinkly, and just starting to break down.
Before draining the pasta, dip a cup in and reserve 1 cup of the cooking water. Drain the pasta and tomatoes, but do not rinse them. Add them to a serving dish, bowl, or cooking pot.
Mix in the pesto. Then mix in 2 tablespoons of the pasta water. If the pasta is a bit dry, add more cooking water.
Mix in the pesto. Then mix in 2 Tbsp. of the pasta water. If the pasta is a bit dry, add more cooking water.
Serve warm or at room temperature.
Garnish with lemon wedges, torn or chopped basil, or vegan parmesan.