1. Make the tomato sauce. Heat the olive oil in a large, heavy skillet over medium heat and add the onion. Cook, stirring, until tender, about 5 minutes, and add the garlic. Cook, stirring, until fragrant, about a minute, and add the tomatoes, salt to taste, pepper, sugar, cinnamon, paprika and allspice. Turn the heat up to medium-high and cook until the tomatoes are bubbling. Stir together, turn the heat back to medium-low, partly cover and cook, stirring often, until the tomatoes have cooked down and the sauce is thick and fragrant, 25 to 30 minutes. Taste and adjust seasoning. Remove from the heat. If your sauce is chunky, put through a food mill or pulse in a food processor fitted with the steel blade. Set aside.
2. Meanwhile, blanch the kale in salted boiling water for 4 minutes or steam for 5 to 8 minutes, until tender. Rinse with cold water and squeeze dry. Chop fine (you can do this by pulsing in a food processor fitted with the steel blade.)
3. Heat the olive oil over medium heat in a large, heavy skillet and add the garlic. When it begins to smell fragrant, in about 30 seconds, stir in the chopped kale. Toss together and season to taste with salt and freshly ground pepper. Stir in the bulgur and dill, combine well and remove from the heat.
4. Preheat the oven to 350 degrees Fahrenheit. Oil a 3-quart baking or gratin dish. Spoon a small amount of tomato sauce on the bottom of the dish, and spoon in the bulgur and kale. Spread in an even layer. Sprinkle 2 tablespoons of the Parmesan on top and cover with the remaining tomato sauce, spread in an even layer.
5. Beat together the eggs, yogurt and 2 tablespoons of the remaining Parmesan. Season with salt, pepper and paprika. Spoon over the tomato sauce and spread in an even layer. Sprinkle the remaining Parmesan on top. Place in the oven and bake 30 to 35 minutes, until golden. Remove from the heat and let sit for 10 minutes or longer before serving.