Cut the tops off the tomatoes and scoop out the insides. Place the tomatoes and cut-off tops on one side. Place the seeds and scooped-out flesh in a sieve set over a small bowl and press with the back of a spoon to extract the juices; you will need about 4 tablespoons juice. Leave the bowl of juice on one side and discard the seeds and flesh.
Place the hollowed-out tomatoes upside-down on a plate covered with paper towel and leave to drain.
Heat 1/2 tablespoon olive oil in a nonstick saucepan. Add the flaked almonds and cook over low heat for 2–3 minutes or until golden-brown. Remove from the pan with a slotted spoon and set aside.
Add the remaining oil to the saucepan. Stir in the eggplant and cook for 5 minutes, turning frequently, until browned and tender. Stir in the coriander, cumin and cinnamon, and cook for a few more seconds, stirring constantly.
Pour in the stock and bring to a rapid boil, then add the couscous in a steady stream, stirring constantly. Remove from the heat, cover, and leave to stand for 5 minutes.
Uncover the pan, return to low heat and cook for 2–3 minutes, stirring with a fork to separate the couscous grains. Stir in the toasted almonds, mint and dried apricots. Add the harissa to the reserved tomato juices and stir to mix, then pour over the couscous. Add pepper and mix well. Spoon the couscous mixture into the tomatoes, replace the tops and serve.