Heat oil and butter in a large pot over medium heat. Add onion, dukkah, garam masala, and garlic; cook and stir until onion softens, about 5 minutes. Stir in sweet potatoes; cook until lightly browned, 3 to 5 minutes.
Pour vegetable broth into the pot; stir in lentils and cilantro. Simmer, partially covered, until lentils are tender, 20 to 25 minutes. Add spinach; simmer until wilted, about 5 minutes more. Season dahl with black pepper.