In a medium saucepan over medium heat, add 2 tablespoons of the olive oil and heat until shimmering, about 2 minutes, then add the onions. Saute on low until the onions are browned and caramelized, 20 to 30 minutes, stirring occasionally. Set aside.
Meanwhile, in a food processor, combine the walnuts and 1 cup of the oil and process until smooth, about 1 minute. Add the Parmesan, lemon juice, garlic and 1 teaspoon sea salt and process until blended, about 1 minute. Add 3 3/4 cups of the chopped basil, reserving the remaining 1/4 cup for topping the pizza. Add the spinach and process until smooth, about 1 minute.
In a medium skillet over medium heat, add the remaining 2 tablespoons olive oil and heat until shimmering, about 2 minutes. Add the olives and saute for 5 minutes. Remove from the heat, then add the balsamic vinegar and a little sea salt to taste.
To assemble the pizzas, place the pizza crusts on two sheet pans or large round pizza pans. Spread the pesto onto the crusts, leaving a 1/4-inch border. Top with the caramelized onions, tomatoes, reserved basil, and olive mixture. Garnish with a little grated Parmesan if you like. Bake until the crusts are golden brown, 8 to 10 minutes.
Using a pastry brush, I brush a tiny amount of olive oil around the pizza crust edges to make them extra brown and crispy!