Combine the milk, butter, orange zest, cloves, brown sugar and raisins in a small saucepan and gently heat until the butter has melted and the sugar has dissolved.
Leave the mixture to cool until it is lukewarm (about 37°C or 98°F).
Remove and discard the cloves.
In a large bowl, mix together the flour, yeast, salt, ground cinnamon, ground nutmeg, ground ginger, and ground cardamom (if using).
Slowly mix the milk mixture into the flour mixture.
Add one egg at a time.
Knead the dough on a lightly floured surface until it is soft and elastic in texture. If you have an electric stand mixer, you can knead the dough using the dough hook for about 10-12 minutes on medium speed.
If the dough is too wet, add some flour (about a tablespoon at a time) until the dough forms a soft ball.
Lightly oil a large bowl.
Place the dough into the bowl, cover with a teatowel, and leave it to prove in a warm place for about 1 hour or until it has doubled in size.