Heat a large, heavy-bottomed pot over medium heat. Add the coconut oil to the pot and let it melt. Add the onions to the pot and stirring occasionally until translucent and soft, about 5 minutes. Add the ginger and garlic to the pot and cook for another 2-3 minutes. Next add the spices (coriander, cumin, turmeric paste, chili powder and chili flakes). Saute spices until it becomes quite fragrant, about 1-2 minutes. Add a bit of salt and pepper.
You will then add the sweet potatoes to the pot and stir until coated in the spices. Add the lentils to the pot and stir again. You may want to add a bit more salt and pepper.
Add the vegetable stock and stir, scraping up any bits on the bottom or sides of the pot. Place the lid on top of the pot and bring stew to a boil.
Once the stew is boiling, lower the heat slightly to a simmer and set the lid a little to the side so there's room for the steam to escape. Simmer until the sweet potatoes are soft and almost falling apart and the lentils are tender, about 30 minutes. The liquid should be reduced by 1/4 or so.
Add the coconut milk and the navy beans. Place the lid back on top and continue to simmer the stew until the navy beans are tender, about 4-5 minutes. Taste and season with salt and pepper. If you want more spice, now is the time to throw in more chili flakes or you can garnish on top instead.
Serve stew with fresh cilantro leaves, more dried chili flakes, a fresh lime slice and a drizzle of coconut milk if you'd like.