Heat the olive oil in a large soup pot over medium-high heat. Once shimmering, add the chopped onions and sauté for about 5 minutes until softened and golden around the edges. Stir in the garlic and cook briefly until fragrant, about 1 minute.
Add the diced chicken to the pot and stir to combine with the aromatics. Season generously with kosher salt and freshly ground black pepper. Let the chicken sear for 3 to 4 minutes until lightly browned and nearly cooked through.
Carefully pour in the chicken stock, scraping up any browned bits from the bottom of the pot for added depth of flavor. Add the diced potatoes and carrots, then increase the heat to bring the soup to a gentle boil. Reduce to a simmer and cook until the vegetables are tender, around 15–20 minutes. Taste the broth along the way, adjusting the salt as needed.
Toss in the broccoli florets and simmer for another 1 to 2 minutes, just until vibrant and tender-crisp. Remove the pot from the heat and stir in the baby spinach, allowing it to wilt from the residual heat.
Ladle the soup into bowls and finish with a sprinkle of grated or shaved cheese if desired. Serve hot for a comforting and nourishing meal.