Whisk cream cheese and milk together in a medium bowl until smooth, about 2 minutes.
Heat oil in a large pot over medium heat. Add onion; cook, stirring often, until softened and slightly translucent, about 4 minutes. Add garlic; cook, stirring often, until fragrant, about 1 minute. Add spinach; cook, stirring often to break up any clumps, until separated and warmed through, about 3 minutes. Add broth and artichoke hearts; stir to combine. Bring to a boil over medium heat. Cook, undisturbed, until the artichokes and spinach are completely warmed through and the broth is slightly reduced, about 3 minutes; remove from heat.
Working in 3 batches, whisk in the reserved cream cheese mixture until melted and creamy, about 2 minutes. Add Parmesan, lemon juice and salt, stirring until the cheese is melted.
Ladle into 8 bowls. Sprinkle with pepper; serve warm with additional Parmesan, if desired.
