Melt butter in a large pot or Dutch oven or medium-high heat. Add onion, pepper, ginger and garlic; cook until vegetables are softened, 4–6 minutes, stirring occasionally.
Stir in tomato paste, chili powder, garam masala, cumin, salt, paprika, and red pepper flakes; cook 1 minute.
Stir in broth and lentils, increase heat to medium-high and bring mixture to a simmer. Reduce heat to medium-low, partially cover, and simmer until lentils are tender, stirring occasionally, about 40 minutes.
Stir in beans, vinegar, and honey; season with salt and pepper to taste.
Serve lentils over rice or with naan bread, top with cilantro and a drizzle of coconut milk or half-and-half, if using.
Store lentils in an airtight container in the refrigerator for up to 5 days.