Melt the butter over medium heat in a large saucepan. Cook and stir the onion and garlic in the melted butter for about 5 minutes, until onion is translucent.
Sprinkle in curry powder, garam masala, paprika, sugar, ginger, turmeric, salt, and pepper. Continue to cook and stir 3 to 4 more minutes, until spices are lightly toasted.
Mix in the garbanzo beans, potatoes, coconut milk, tomato, milk, ketchup, sour cream, and bouillon cubes. Simmer the curry over medium-low heat for about 25 minutes, until the potatoes are tender. Stir in ground almonds to thicken.