Brown the sausage. Heat a large pot or Dutch oven over medium-high. Add the sausage (and olive oil if needed).
Cook, breaking it into small pieces, until browned and cooked through, about 6–8 minutes. Use a slotted spoon to leave any rendered fat in the pot.
Sauté the aromatics. Add onion, carrots, and celery. Cook, stirring often, until softened, 5–7 minutes.
Stir in the garlic and cook 30 seconds, until fragrant.
Build the base. Push the vegetables to the side and stir in the tomato paste. Cook 1–2 minutes to caramelize it slightly. Add oregano, basil, and red pepper flakes, and stir to coat the vegetables.
Deglaze and simmer. Return the sausage to the pot.
Add diced tomatoes with juices, broth, and the bay leaf. Scrape up any browned bits. Bring to a boil, then reduce to a lively simmer for 10 minutes.
Add pasta and beans. Stir in the pasta and cannellini beans.
Simmer until the pasta is just al dente, usually 8–10 minutes, depending on shape. Stir occasionally to prevent sticking.
Finish with greens. Remove the bay leaf. Stir in spinach (or kale) and cook until wilted, 1–2 minutes.
Add lemon juice. Taste and season with salt and pepper.
Serve. Ladle into bowls, top with chopped parsley or basil, and finish with a generous shower of Parmesan.