Melt butter in a large pot, add the onions and saute until soft, 5 to 7 minutes. Stir in the garlic, spices, and salt and pepper, and saute another minute to release the aromas. Stir in the tomato paste to blend with the onions, fry 1 to 2 minutes, then add the stock, bulgur and lentils. Cover and simmer until bulgur and lentils are thoroughly cooked and soup is thickened, about 30 to 40 minutes, stirring occasionally.
Remove from heat, stir in half of the herbs and sprinkle the remaining half over the soup. Serve immediately with yogurt to garnish.