Heat the olive oil over medium high heat and add the grated onion and carrot, stir well and sauté for about 5 minutes.
Pour in the chicken or vegetable broth, bring to a boil, then lower heat, partially cover with lid and let simmer about 10-15 minutes.
Meanwhile, in a medium sized saucepan, melt the butter. Add the flour and stir, while cooking over medium heat. If it starts to brown, the pot is too hot. Cook for about 3 minutes, then slowly add a little of the cup of milk.
Stir well, then add half of the milk. Once this is incorporated, add the rest of the milk, stirring constantly. It is important to always stir this white sauce or it will become lumpy, or stick to the bottom. If it does become lumpy, you can always "cure" the problem by blending the sauce with a stick blender (shhh...don't tell anyone)!
Next, add about a cup of the carrot, onion broth to this sauce and mix well; then add the entire pot of sauce to the simmering broth, while stirring well.
Now it's time to add the spinach. Stir well and simmer for about 2 minutes, then remove from heat and add the milk/cream. Stir well and add salt and pepper to taste. That's it! Soup's done!
If you'd like to add a nice finishing touch and bit of crunch, you can sauté the tablespoon of butter with the sliced almonds until they brown a little. Sprinkle a little on top of each serving in the bowl and enjoy.