Hachez finement le demi-oignon et la gousse d'ail. Coupez le demi-poivron rouge en dés. Faites chauffer une poêle ou une cocotte à feu moyen et faites dorer la merguez de tous les côtés. Retirez la merguez de la poêle et coupez-la en rondelles.
Versez la cuillerée à soupe d'huile d'olive dans la même poêle. Ajoutez l'oignon et l'ail hachés ainsi que les dés de poivron et faites suer les légumes jusqu'à ce qu'ils soient tendres. Incorporez la cuillerée à café de cumin, la cuillerée à café de paprika et la cuillerée à café de harissa et laissez cuire brièvement. Versez les tomates concassées et les rondelles de merguez et laissez la sauce mijoter doucement pendant dix minutes.
À l'aide d'une cuillère, creusez deux petits puits dans la sauce tomate épaissie. Cassez les deux œufs et versez délicatement un œuf dans chaque puits. Couvrez la poêle et laissez cuire le tout pendant cinq à six minutes, jusqu'à ce que le blanc soit complètement coagulé.
Retirez la poêle du feu. Coupez ou hachez la coriandre fraîche grossièrement et répartissez-la sur la shakshuka chaude. Servez le plat directement à table.