Cook the pasta. Bring a large soup pot or Dutch oven (I use my 4.5 quart Le Creuset pot) of heavily salted water to a boil. Add 1 cup pasta shells and cook until tender but not mushy. The pasta will cook a little bit more in the soup so don't overcook it in this step. Drain and run under cold water to stop the cooking. Drizzle with a little olive oil to prevent sticking. Set aside. Sauté vegetables. Rinse out the pot and heat 3 tablespoons oil over medium-high heat. Add 1 chopped onion and season with salt and pepper. Cook, stirring occasionally, until translucent. Add 2 cloves minced garlic, 1/2 teaspoon dried sage, and chopped rosemary and cook for 1 minute. Add 3 tablespoons tomato paste and cook, stirring constantly until tomato paste blends into the veggies.
Simmer. Add 1 quart broth and 1 can beans (juice and all, don't drain) and bring to a boil. Reduce heat to low and simmer until onion is tender and flavors have melded, at least 10 minutes or up to an hour. Taste and add more salt and pepper if necessary.
Serve. When ready to serve, divide pasta among 4 bowls and ladle soup over the top. You can serve the soup with some grated parmesan if desired, but then it would no longer be vegan. Drizzle with a little more olive oil and top with fresh herbs and chili flakes.