Heat olive oil in a large skillet over medium-high heat; add onion and garlic. Saute until onions are tender, about 5 minutes. Add sausage; cook and stir until sausage is browned and crumbly, 5 to 7 minutes. Add potatoes; cook and stir until slightly browned, about 3 minutes.
Mix chicken broth, 1/2 cup water, and soup base into potato mixture; bring to a boil. Reduce heat and simmer soup for 15 minutes.
Bring water to a boil in a saucepan; add 3 cups spinach and cook until wilted, about 5 minutes. Drain and reserve 1/2 water from the saucepan.
Combine 3 cups spinach, reserved 1/2 cup spinach water, basil, 1/4 cup Parmesan cheese, and pine nuts in a food processor; blend until pesto is smooth.
Stir milk and black pepper into soup; cook over low heat until heated through, 2 to 3 minutes. Add cooked spinach and stir. Ladle soup into bowls and top each with 1 tablespoon Parmesan cheese and a spoonful pesto.