To make the soup, heat a large pot over medium heat. Melt the butter with the olive oil and sauce the onion until soft and lightly browned, about 5 minutes. Add the tomatoes and broth and simmer for 20-30 minutes. Stir in the pesto. To finish the soup, blend with an immersion blender until smooth and season with salt and pepper.