1.For aji amarillo sauce, blacken chillies over a flame (or roast in a hot oven), turning occasionally (2-3 minutes), then place in a bowl, cover with plastic wrap and leave to steam (5-10 minutes). Peel chillies, coarsely chop and process in a food processor with coriander and spring onion until coarsely chopped. Transfer to a bowl, stir in remaining ingredients and season to taste.
2.Heat half the oil in a large saucepan over medium-high heat, add onion, garlic, cumin and achiote, stir to combine, then fry, stirring occasionally, until onion is tender and translucent (4-5 minutes). Add 1.5kg potatoes, stir to coat in the onion mixture and cook, stirring occasionally, for another 5 minutes. Add 1.5 litres water, season to taste and bring to the boil, then reduce heat to medium and simmer until potatoes are tender (20-25 minutes). Coarsely mash or pulse the potatoes with a hand-held blender so little chunks of potato remain but the overall texture is creamy, then stir in milk, adding a little extra if necessary to thin soup to your preferred consistency. Simmer for another 5 minutes, then stir in cheeses and remove from the heat.
3.Heat remaining oil in a large frying pan over medium-high heat, add remaining potato and fry, turning occasionally, until golden brown and tender (6-7 minutes). Drain on paper towels and season to taste.
4.Serve soup hot topped with fried potato, coriander, spring onion and aji amarillo sauce.