Heat oil in a medium pot over medium heat. Add onion, season with salt and pepper, and cook, stirring occasionally, until softened and golden, about 8 minutes.
Add garlic and fresh herbs and cook, stirring, until fragrant, about 1 minute. Add tomatoes, beans and broth; bring to a boil. Reduce heat; simmer until beans are heated through about 10 minutes; let cool 10 minutes.
Using a stick blender add some of the pine nuts and process until beans are coarsely chopped but not pureed (do not over process). Season with salt and pepper and rewarm in pot. Divide soup among 4 bowls and serve with remaining pine nuts, avocado, and finish with Parmesan cheese.