In a medium soup pot, heat the oil. Add the onions and sauté over medium high heat until softened, 2-3 minutes.
Add the garlic, cumin, and annatto. Sauté until fragrant, 1-2 minutes.
Add the potatoes and mix to coat them in the onion mixture. Cook, stirring often for 3-5 minutes.
Add water enough water to just cover the potatoes. Bring the water to a boil over high heat. Reduce the heat to medium low and simmer, covered, until the potatoes are cooked through, 20-30 minutes.
Remove the pot from the heat. Add the salt and pepper and puree the mixture with immersion blender. (Alternately, pour the mixture into a blender and blend until smooth.)
Add the milk, mixing until the soup is thin and pour-able.
Mix in the cheese, stirring until it has melted.
Serve the soup hot with chopped cilantro, queso fresco, diced avocado, or hot sauce, as desired.
