Preheat your oven to 400°F (200°C). Cut the eggplants in half lengthwise and score the flesh with a knife. Place them on a baking sheet, cut side up, and drizzle with a little olive oil. Roast them in the oven for about 40-45 minutes or until the flesh is soft and tender.
While the eggplants are roasting, prepare the tomatoes. Bring a pot of water to a boil and make a small shallow X-shaped incision on the bottom of each tomato. Carefully place them in the boiling water for about 30 seconds. Remove the tomatoes from the pot and transfer them to a bowl of ice water to cool. Once cooled, peel off the skin and chop the tomatoes into small pieces.
In a large pan, heat the olive oil over medium heat. Add the minced garlic and sauté until fragrant, but not browned.
Add the chopped tomatoes to the pan and cook for about 10 minutes, stirring occasionally, until they break down and release their juices.
Scoop out the roasted eggplant flesh and roughly chop it. Add the chopped eggplant to the pan with the tomatoes.
Season the mixture with cumin, paprika, chili flakes (if using), and salt to taste. Stir well to combine all the flavors.
Reduce the heat to low, cover the pan, and let the mixture simmer for about 20-25 minutes, stirring occasionally. This will allow the flavors to meld together and the mixture to thicken.
Once cooked, remove the pan from the heat and let the Zaalouk cool slightly. You can serve it warm or at room temperature.
Before serving, garnish with freshly chopped cilantro or parsley for an extra burst of freshness.