Chop the onion and set it aside. Grate the garlic and ginger, and set them aside separately from the onions.
Saute: Heat the coconut oil in a large pot. Add the onions and cook until translucent, 3-4 minutes. Add the garlic, ginger, garam masala, paprika powder, turmeric, and sugar and stir for about half a minute.
Simmer: Pour in the coconut milk and the vegetable stock, bring everything to a simmer, and cook for about 5 minutes.
Chop: In the meantime, peel and chop the sweet potato and carrots into cubes. Set aside. Remove the woody ends of the asparagus (freeze to use for a vegetable broth on another occasion) and cut the asparagus into mouth-sized pieces. Keep the asparagus heads separated; they will need a shorter cooking time.
Cook: Add the sweet potato and carrots to the pot, bring to a boil again and cook for about 10-12 minutes or until the potatoes are almost done (check, it depends on their size). Add the asparagus stalk pieces and cook for another 5 minutes or so until the potatoes are soft and the asparagus is cooked but still has a little bite. Next, add the peas and the asparagus tips and simmer for 2-3 more minutes.
Adjust: Add the juice of about half a lime and salt to taste. Taste again and adjust the taste with either more lime juice or some sugar according to your liking. I liked this to be a bit tangy, so I added a bit more lime juice.