In a large stockpot or 5-quart Dutch oven over medium-high heat, brown the Italian sausage meat, breaking it up with a spoon into smaller bits as you continually stir.
Using a slotted spoon, remove the sausage meat and place aside in a bowl.
Reduce heat to medium. Add olive oil to the remaining sausage drippings and cook onions until tender and golden, about 10 minutes.
Add garlic and cook about 1 minute.
Add tomatoes and stir for 1 minute.
Increase heat to high, then add chicken broth, salt, beans, and 2 cups water, then stir occasionally and heat until the water comes to a slight boil.
Reduce heat to low, then cover and simmer 30 minutes.
Meanwhile, in a separate medium pot, cook pasta according to directions. Drain pasta; set aside.
Add sausage meat back into the stockpot/Dutch oven containing the soup mixture, and heat for 2-3 minutes, stirring occasionally.
Right before you are ready to serve, stir in spinach, basil, and cooked pasta, then top with as much or as little grated parmesan cheese as you like.