1Start by cooking the eggplants, which can be done in several ways depending on your preference and equipment. For the most authentic smoky flavor, char the whole eggplants directly over a gas flame, turning them with tongs every few minutes until the skin is blackened and blistered all over and the flesh is completely soft, about 15-20 minutes. Alternatively, you can broil them in the oven, placing them on a baking sheet 4 inches from the broiler and turning occasionally until charred and soft. Another option is to roast them whole at 450 degrees F for 30-40 minutes until collapsed and very soft. The charring method gives the most authentic smoky flavor that is characteristic of zaalouk. Once cooked, place the hot eggplants in a bowl and cover with plastic wrap or a lid. Let them steam for 10-15 minutes - this makes the skin much easier to peel.
2Once the eggplants are cool enough to handle, peel off the charred skin completely and discard it. The flesh underneath should be creamy, soft, and pale. Place the peeled eggplant flesh in a colander and press gently to remove excess liquid - eggplants contain a lot of water and draining some prevents the zaalouk from being too watery. Chop the eggplant into small pieces with a knife or roughly mash it with a fork. You want a chunky texture, not a smooth puree. Set the prepared eggplant aside. Some cooks like to salt the chopped eggplant lightly and let it drain for another 10 minutes to remove even more liquid.
3Heat the olive oil in a large, deep skillet or sauté pan over medium heat. Add the minced garlic and cook for about 1 minute, stirring constantly, until fragrant but not browned. Garlic burns easily so watch it carefully. Add the ground cumin, paprika, and cayenne pepper to the oil. Stir constantly for about 30 seconds to bloom the spices in the oil - this releases their essential oils and creates deeper, more complex flavors. The kitchen should smell wonderfully aromatic at this point. Be careful not to let the spices burn as they can become bitter.
4Add the diced tomatoes, tomato paste, salt, and black pepper to the pan with the spiced oil. Stir everything together to combine. The tomato paste adds concentrated tomato flavor and helps thicken the sauce. Cook over medium heat for about 10-15 minutes, stirring occasionally, until the tomatoes break down and release their juices, creating a thick sauce. The mixture should reduce and thicken, with the oil beginning to separate from the tomatoes. Use a wooden spoon or potato masher to help break down any large tomato pieces. The sauce should be thick, not watery.
5Add the chopped eggplant to the tomato mixture. Stir well to combine everything thoroughly. Reduce the heat to medium-low and continue cooking for another 15-20 minutes, stirring frequently to prevent sticking. The mixture should cook down and meld together, with the eggplant practically melting into the tomatoes. The zaalouk should be thick and chunky, with a rustic, hearty texture. As it cooks, mash some of the eggplant against the side of the pan with your spoon to help thicken the mixture. The oil should be visible on the surface, and the overall consistency should be thick enough to scoop with bread. If the mixture seems too dry, add a splash of water. If too watery, continue cooking uncovered to evaporate excess liquid.
6Remove the pan from heat and stir in the fresh lemon juice, chopped cilantro, and parsley. The fresh herbs and lemon juice are added at the end to preserve their bright, fresh flavors. Taste and adjust seasoning - you might want more salt, more lemon for brightness, more cumin for earthiness, or more cayenne for heat. Transfer the zaalouk to a serving bowl and let it cool to room temperature. Traditional zaalouk is served at room temperature or even slightly chilled, not hot. Drizzle with additional olive oil before serving - this is important for both flavor and presentation. The oil should pool slightly on top. Garnish with a few fresh cilantro leaves. Serve with warm bread for scooping, as part of a mezze spread, or as a side dish to grilled meats or tagines. Zaalouk keeps well in the refrigerator for up to 5 days and the flavors improve over time. Always bring to room temperature and add a fresh drizzle of olive oil before serving.